本文最后更新于 2024-07-06,文章内容可能已经过时。

1. 在线安装MySQL5.7

输入以下命令导入MySQL的仓库已经安装。

wget -i -c  http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
yum -y install mysql57-community-release-el7-10.noarch.rpm
yum -y install mysql-community-server

**请注意:**安装时可能会提示证书问题导致安装失败。

image-20221121010638410

这个时候需要重新导入新的证书后重新进行安装。

rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
yum -y install mysql-community-server

2. 设置MySQL密码以及允许远程连接

安装MySQL后默认是不启动的,需要手动启动以下,然后再日志中获取到初始化密码,然后才可以继续进行操作。

# 启动MySQL
systemctl start  mysqld
# 获取初始化密码
grep "password" /var/log/mysqld.log

image-20221121012356163

# 连接MySQL -p后面为自己的默认密码
mysql -uroot -p?wijwrPlp2G5

默认开发环境正常都为设置一个简单密码,但是现在MySQL默认的安全策略是不允许设置简单密码的,所以还需要进行一次安全策略的设置,可以忽视。

PolicyTests Performed
0orLOWLength
1orMEDIUMLength; numeric, lowercase/uppercase, and special characters
2orSTRONGLength; numeric, lowercase/uppercase, and special characters; dictionary file
# 查看MySQL密码默认长度校验,值为8
select @@validate_password_length;
# 设置安全策略,可以忽视
set global validate_password_policy=0;
set global validate_password_length=1;
# 设置root用户密码,IDENTIFIED BY "密码"
ALTER USER "root"@"localhost" IDENTIFIED BY "root";
# 允许远程访问
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
# 刷新
FLUSH PRIVILEGES;
# 输入exit退出MySQL命令行

3. 设置默认的编码集

SHOW VARIABLES WHERE Variable_name LIKE 'character_set_%' OR Variable_name LIKE 'collation%';

image-20221121013622556

建议这里都设置为utf8mb4,MySQL的utf8编码不完整,当出现emoji表情的时候会出错,所以一步到位使用utf8mb4编码。编辑/etc/my.cnf文件。

[client] 
default-character-set = utf8mb4 

[mysql] 
default-character-set = utf8mb4 

[mysqld]
character-set-client-handshake = FALSE 
character-set-server = utf8mb4 
collation-server = utf8mb4_general_ci 
init_connect='SET NAMES utf8mb4'
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
symbolic-links=0

log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

重启MySQL

systemctl restart mysqld

重新查询相关变量

image-20221121014358284