1. 更新yum

1
yum update -y

2. 安装wget工具,已安装可以跳过

1
yum install -y wget

3. 使用wget下载mysql yum源

1
wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm

4. 添加 mysql yum 源

1
yum localinstall mysql80-community-release-el7-3.noarch.rpm -y

5. 安装 yum 工具 yum-utils

1
yum install -y yum-utils

6. 查看可用的 mysql

1
yum repolist enabled | grep "mysql.*-community.*"
1
2
3
mysql-connectors-community/x86_64       MySQL Connectors Community           206
mysql-tools-community/x86_64 MySQL Tools Community 94
mysql80-community/x86_64 MySQL 8.0 Community Server 367

7. 查看所有的 mysql 版本

1
yum repolist all | grep mysql
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
mysql-cluster-7.5-community/x86_64  MySQL Cluster 7.5 Community     禁用
mysql-cluster-7.5-community-source MySQL Cluster 7.5 Community - S 禁用
mysql-cluster-7.6-community/x86_64 MySQL Cluster 7.6 Community 禁用
mysql-cluster-7.6-community-source MySQL Cluster 7.6 Community - S 禁用
mysql-cluster-8.0-community/x86_64 MySQL Cluster 8.0 Community 禁用
mysql-cluster-8.0-community-source MySQL Cluster 8.0 Community - S 禁用
mysql-connectors-community/x86_64 MySQL Connectors Community 启用: 206
mysql-connectors-community-source MySQL Connectors Community - So 禁用
mysql-tools-community/x86_64 MySQL Tools Community 启用: 94
mysql-tools-community-source MySQL Tools Community - Source 禁用
mysql-tools-preview/x86_64 MySQL Tools Preview 禁用
mysql-tools-preview-source MySQL Tools Preview - Source 禁用
mysql55-community/x86_64 MySQL 5.5 Community Server 禁用
mysql55-community-source MySQL 5.5 Community Server - So 禁用
mysql56-community/x86_64 MySQL 5.6 Community Server 禁用
mysql56-community-source MySQL 5.6 Community Server - So 禁用
mysql57-community/x86_64 MySQL 5.7 Community Server 禁用
mysql57-community-source MySQL 5.7 Community Server - So 禁用
mysql80-community/x86_64 MySQL 8.0 Community Server 启用: 367
mysql80-community-source MySQL 8.0 Community Server - So 禁用

8. 使用指定版本MySQL

假如我想使用MySQL5.7,那么我就需要先关闭MySQL8.0
关闭MySQL8.0

1
yum-config-manager --disable mysql80-community

开启MySQL5.7

1
yum-config-manager --enable mysql57-community

9. 查看当前启用的MySQL版本

1
yum repolist enabled | grep mysql
1
2
3
mysql-connectors-community/x86_64       MySQL Connectors Community           206
mysql-tools-community/x86_64 MySQL Tools Community 94
mysql57-community/x86_64 MySQL 5.7 Community Server 624

10. 安装MySQL

1
yum install -y mysql-community-server

如果安装报错:mysql-community-client-5.7.40-1.el7.x86_64.rpm 的公钥尚未安装,需要更新密钥

1
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022

11. 启动MySQL

1
systemctl start mysqld

设置开机启动

1
systemctl enable mysqld

12. 查看MySQL服务状态

1
systemctl status mysqld
1
2
3
4
5
6
7
8
9
10
11
12
13
● mysqld.service - MySQL Server
Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
Active: active (running) since 二 2023-01-10 10:16:11 CST; 26s ago
Docs: man:mysqld(8)
http://dev.mysql.com/doc/refman/en/using-systemd.html
Process: 71828 ExecStart=/usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid $MYSQLD_OPTS (code=exited, status=0/SUCCESS)
Process: 71778 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)
Main PID: 71831 (mysqld)
CGroup: /system.slice/mysqld.service
└─71831 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid

1月 10 10:16:08 localhost.localdomain systemd[1]: Starting MySQL Server...
1月 10 10:16:11 localhost.localdomain systemd[1]: Started MySQL Server.

12. 初始化MySQL

查看初始化密码

1
grep 'temporary password' /var/log/mysqld.log

使用初始密码进行登录

1
mysql -u root -p

修改密码

1
ALTER USER 'root'@'localhost' IDENTIFIED BY 'daasan7ujm^YHN';

13. 设置MySQL密码策略

查询MySQL初始的密码策略

1
SHOW VARIABLES LIKE 'validate_password%'; 
1
2
3
4
5
6
7
8
9
10
11
12
+--------------------------------------+--------+
| Variable_name | Value |
+--------------------------------------+--------+
| validate_password_check_user_name | OFF |
| validate_password_dictionary_file | |
| validate_password_length | 8 |
| validate_password_mixed_case_count | 1 |
| validate_password_number_count | 1 |
| validate_password_policy | MEDIUM |
| validate_password_special_char_count | 1 |
+--------------------------------------+--------+
7 rows in set (0.01 sec)

修改密码验证强度

1
set global validate_password_policy=LOW;

修改密码长度

1
set global validate_password_length=6;

此时密码已经可以设置简单密码了

1
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

密码长度最低为4位,设置的密码长度小于4时,默认改成4.

14. 设置MySQL远程连接,在sql里面设置

1
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;

这里的密码是你自己设置的密码

刷新权限

1
FLUSH PRIVILEGES;