目录

macOS环境

法一:包安装(比较简单)

1.下载 

2. 环境配置

 3. 启动服务

4. 安全设置

5. 启动mysql

法二:官方下载MySQL

1.下载 

2.环境变量

3. 启动 MySql

4. 初始化密码设置

windows环境

一、下载

二、 环境配置

三、安装mysql

1.初始化mysql

 2.安装Mysql服务

3.更改密码

四、检验

1.查看默认安装的数据库

2.其他操作

 配置mysql的远程连接

1.登录mysql

2.选择数据库 

3. 修改权限

常见报错 


 

macOS环境

法一:包安装(比较简单)

macOS12,安装 8.0版本

1.下载 

brew install mysql@8.0

2. 环境配置

sudo vi ~/.zshrc
export PATH="/usr/local/opt/mysql@8.0/bin:$PATH"
export LDFLAGS="-L/usr/local/opt/mysql@8.0/lib"
export CPPFLAGS="-I/usr/local/opt/mysql@8.0/include"
export PKG_CONFIG_PATH="/usr/local/opt/mysql@8.0/lib/pkgconfig"
source ~/.zshrc

 3. 启动服务

brew services start mysql@8.0

4. 安全设置

mysql_secure_installation

5. 启动mysql

mysql -u root -p

法二:官方下载MySQL

1.下载 

打开 MySql 官方下载页面

我是macOS12,所以选择了8.0.30

下载完成之后,打开安装,一直下一步安装完成,在最后安装完成时,会弹出对话框,里面包含了 mysql 账号跟临时密码,需要拷贝出来记录一下,后面会用它进行登录以及修改为新的 mysql 密码:

root 就是账号,密码就是随机生成的这串,如果使用强密码就是自己输入的那个密码。

在新版本中会有 use strong password excryptionuse legacy password excryption 选项

  • use strong password encryption:使用强密码加密。mysql8 支持基于 SHA256 的更强的认证方式,所有新安装的 mysql server 建议使用这个方式。clients 或 connectors 如果不支持这个方式,就不能连接到这个 mysql server。
  • use legacy password encryption:使用老式的密码加密,也就是上图中的。
  • 配置 root 的密码,合理的密码规则为:至少8个字符,包含数字、字母、其他字符。

接着输入你的密码,用于登陆,切记!跟上面旧密码一样的,一定要记住记好了!

安装成功以后,可以使用命令行进行启动操作,也可以进入 系统偏好设置 中找到 Mysql 进行可视化启动!

2.环境变量

  • 第一步 :在终端切换到根目录,编辑 ~/.bash_profile 或 ~/.zshrc 文件,也可以两个都加

  • $ vim ~/.bash_profile
    $ vim ~/.zshrc
  • # 辅助:查看 mysql 本地路径
    $ ps -ef|grep mysql
    
    # 辅助:如果两个配置文件不存在,可以手动创建
    $ cd ~
    $ touch .zshrc
    $ vim .zshrc
    
    # 辅助:如果不想走命令行的方式修改环境变量,也可以直接打开文件进行可视化修改,不支持 Linux 可视化
    $ open ~/.zshrc
    

    第二步 :进入 vim 编辑环境。 按下 i 进入 insert 模式 ,输入

  • export PATH=$PATH:/usr/local/mysql/bin
    export PATH=$PATH:/usr/local/mysql/support-files
    

    第三步 :按下 esc 退出 insert 模式,输入 :wq 保存配置文件。

  • :wq


    第四步 :在终端界面下输入以下命令,让配置文件的修改生效,并查看环境变量是否设置成功

  • $ source ~/.bash_profile 
    $ source ~/.zshrc
    $ echo $PATH
    

    到这里环境变量就设置完成了,我们可以查看一下当前 mysql 的版本:

  • $ mysql -V

MySQL服务的启停和状态的查看

开启MySQL服务(需要输入电脑密码,不是数据库登录密码)
sudo mysql.server start

停止MySQL服务
sudo mysql.server stop

重启MySQL服务
sudo mysql.server restart

查看MySQL服务状态
sudo mysql.server status

3. 启动 MySql

  • 第一步 :启动 mysql 服务

sudo mysql.server start

启动如果报错 ERROR! The server quit without updating PID file (/usr/local/mysql/data/***.pid). 这边是因为安装了就默认启动了,已经有进程在了,所以报错,关掉重启就没问题了。还有别的原因也会这样,比如没有读写权限等。

查看进程

ps -ef|grep mysqld

杀进程

kill 端口号

kill -9 端口号

第二步 :启动成功后,登录 mysql

mysql -u root -p

4. 初始化密码设置

  • 设置初始化密码,进入数据库 mysql 数据库之后执行下面的语句,设置当前 root 用户的密码为 123456 (密码设置你自己的,这里只是举例)。

  • set password = password('123456');
    

回车,然后会提示设置成功。

退出 sql 界面

exit
  • 以上 MySql 就在本地安装完成了 !!!

数据库管理(两种形式)

windows环境

一、下载

1.下载解压

MySQL :: Download MySQL Community Server

下载后解压,存放到安装目录下

2.在【安装目录】内,新建 my.ini 空文件

可以先创建一个txt文件,另存为my.ini

输入以下内容(注意安装目录)

[mysql]
# 设置 mysql 客户端默认字符集
default-character-set=utf8

[mysqld]
#设置 3306 端口
port = 3306

# 设置 mysql 的安装目录
basedir= C:\mysql\mysql-8.2.0-winx64

# 设置 mysql 数据库的数据的存放目录
datadir= C:\mysql\mysql-8.2.0-winx64\data

# 允许最大连接数
max_connections=200

# 服务端使用的字符集默认为 8 比特编码的 latin1 字符集
character-set-server=utf8

# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB

 或者

[mysqld]
# 设置3306端口
port=3306
# 设置mysql的安装目录
basedir=C:\\mysql\\mysql-8.2.0-winx64  # 切记此处一定要用双斜杠\\,单斜杠我这里会出错,不过看别人的教程,有的是单斜杠
# 设置mysql数据库的数据的存放目录
datadir=C:\\mysql\\mysql-8.2.0-winx64\\Data   # 此处同上
# 允许最大连接数
max_connections=200
# 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=10
# 服务端使用的字符集默认为UTF8
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
default_authentication_plugin=mysql_native_password
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8

二、 环境配置

方便调用数据库,相当于一个快捷方式。

1 打开环境变量

按 win+q,输入“环境变量”,选择“编辑系统环境变量”,点击“环境变量”

2.新建系统变量 MYSQL_HOME

在下方的”系统变量“内,新建一个系统变量,变量名为 MYSQL_HOME ,变量值为【安装目录】,如图。

3.编辑 Path 变量

继续在“系统变量”找到变量名为 Path 的系统变量,新建一个新的环境变量 %MYSQL_HOME%\bin

 

三、安装mysql

1.初始化mysql

管理员运行cmd,进入bin路径下,输入

mysqld --initialize --console

  

执行完成后,会打印 root 用户的初始默认密码,比如: 

C:\mysql\mysql-8.2.0-winx64\bin>mysqld --initialize --console
2024-03-11T10:13:22.761487Z 0 [System] [MY-015017] [Server] MySQL Server Initialization - start.
2024-03-11T10:13:22.772911Z 0 [System] [MY-013169] [Server] C:\mysql\mysql-8.2.0-winx64\bin\mysqld.exe (mysqld 8.2.0) initializing of server in progress as process 22556
2024-03-11T10:13:22.777567Z 0 [Warning] [MY-013242] [Server] --character-set-server: 'utf8' is currently an alias for the character set UTF8MB3, but will be an alias for UTF8MB4 in a future release. Please consider using UTF8MB4 in order to be unambiguous.
2024-03-11T10:13:22.805070Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2024-03-11T10:13:23.985606Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2024-03-11T10:13:27.977275Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: V/tfKjvP6sDu
2024-03-11T10:13:33.448473Z 0 [System] [MY-015018] [Server] MySQL Server Initialization - end.

C:\mysql\mysql-8.2.0-winx64\bin>

注意!执行输出结果里面有一段:[Note] [MY-010454] [Server] A temporary password is generated for root@localhost: V/tfKjvP6sDu 其中root@localhost:后面的“V/tfKjvP6sDu”就是初始密码(不含首位空格)。在没有更改密码前,需要记住这个密码,后续登录需要用到。 

 2.安装Mysql服务

在MySQL安装目录的 bin 目录下执行命令:

mysqld --install [服务名]

后面的服务名可以不写,默认的名字为 mysql。当然,如果你的电脑上需要安装多个MySQL服务,就可以用不同的名字区分了,比如 mysql5 和 mysql8。

安装完成之后,就可以通过命令net start mysql启动MySQL的服务了。通过命令net stop mysql停止服务。通过命令sc delete MySQL/mysqld -remove卸载 MySQL 服务

3.更改密码

在MySQL安装目录的 bin 目录下执行命令:

mysql -u root -p

这时候会提示输入密码,记住了上面初始化步骤时的密码,填入即可登录成功,进入MySQL命令模式。

在MySQL中执行命令:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';   

修改密码,注意命令尾的;一定要有,这是mysql的语法

这样,安装部署就完成了 !!!

四、检验

1.查看默认安装的数据库

show databases;

use mysql;

show tables;

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.02 sec)
mysql> use mysql;
Database changed
mysql> show tables;
+------------------------------------------------------+
| Tables_in_mysql                                      |
+------------------------------------------------------+
| columns_priv                                         |
| component                                            |
| db                                                   |
| default_roles                                        |
| engine_cost                                          |
| func                                                 |
| general_log                                          |
| global_grants                                        |
| gtid_executed                                        |
| help_category                                        |
| help_keyword                                         |
| help_relation                                        |
| help_topic                                           |
| innodb_index_stats                                   |
| innodb_table_stats                                   |
| ndb_binlog_index                                     |
| password_history                                     |
| plugin                                               |
| procs_priv                                           |
| proxies_priv                                         |
| replication_asynchronous_connection_failover         |
| replication_asynchronous_connection_failover_managed |
| replication_group_configuration_version              |
| replication_group_member_actions                     |
| role_edges                                           |
| server_cost                                          |
| servers                                              |
| slave_master_info                                    |
| slave_relay_log_info                                 |
| slave_worker_info                                    |
| slow_log                                             |
| tables_priv                                          |
| time_zone                                            |
| time_zone_leap_second                                |
| time_zone_name                                       |
| time_zone_transition                                 |
| time_zone_transition_type                            |
| user                                                 |
+------------------------------------------------------+
38 rows in set (0.01 sec)

2.其他操作

管理员root的host是localhost,代表仅限localhost登录访问。如果要允许开放其他ip登录,则需要添加新的host。如果要允许所有ip访问,可以直接修改成“%

创建用户:

CREATE USER 'xxh'@'%' IDENTIFIED WITH mysql_native_password BY 'xxh123!@#';

#(需要注意:mysql8.0加密方式修改了)
#检查用户

select user, host, plugin, authentication_string from user\G;

授权远程数据库

#授权所有权限 

GRANT ALL PRIVILEGES ON *.* TO 'xxh'@'%';

#授权基本的查询修改权限,按需求设置

GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,ALTER ON *.* TO 'xxh'@'%';

查看用户权限

show grants for 'xxh'@'%';

 查看密码加密方式:

select user, host, plugin, authentication_string from user;

另外,如果需要新增账户,或者本机以外的其他人访问MySQL则还需要设置内置账户的host,具体可以参考:MySQL创建用户与授权 

 配置mysql的远程连接

只有配置了远程连接,那么才可以远程访问

1.登录mysql

mysql -u root -p

2.选择数据库 

 展示数据库 

show databases;

使用数据库 

use mysql;

3. 修改权限

查询用户表中的root用户的权限

select host,user from user;

默认都是localhost,将root的改为% 

修改用户表 

update user set host='%' where user='root';

赋予所有权限

mysql 8用以下写法

grant all privileges on *.* to 'root'@'%';

不行的话试试

grant all privileges on root.* to 'root'@'%';

flush privileges;

再次查询用户表中的root用户的权限 

exit;

常见报错 

1.启动报错

mysql启动时报错:Starting MySQL… ERROR! The server quit without updating PID file 

mac上mysql启动报错问题Unable to lock ./ibdata1 error: 35-CSDN博客

可能是/usr/local/mysql/data数据目录mysql用户没有权限(修改数据目录的权限) 

查看

解决方法 :给予权限,执行 “chown -R mysql.mysql /usr/local/mysql/data” 然后重新启动mysqld

sudo chmod -R 777 /usr/local/mysql/data/

也可以直接到文件夹中设置文件夹的权限!!!!

前往/usr/local/etc目录,看是否有my.cnf这么个文件,如果没有就新建,然后输入lower_case_table_names=2,保存

 

ps -eaf | grep mysql

 

sudo kill -9 145 

使用这种方式杀掉所有的mysql进程,再次重启mysql应该就可以了。

如果还不行,重点来了,执行如下命令:

sudo launchctl unload -w /Library/LaunchDaemons/com.oracle.oss.mysql.mysqld.plist

MAC MySql 安装(详细步骤)_mac 安装mysql-CSDN博客

https://www.cnblogs.com/laumians-notes/p/9069498.html

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐