下面给你一份 CentOS 7 / 8 配置 MySQL 的常见完整流程(以 MySQL 8.0 为例,CentOS 6 也类似但命令略有不同)。
CentOS 默认可能带 MariaDB,避免冲突:
rpm -qa | grep mariadb
yum remove mariadb* -y
yum install -y wget
wget https://dev.mysql.com/get/mysql80-community-release-el7-11.noarch.rpm
rpm -ivh mysql80-community-release-el7-11.noarch.rpm
yum install mysql-server -y
systemctl start mysqld
systemctl enable mysqld
查看状态:
systemctl status mysqld
grep 'temporary password' /var/log/mysqld.log
示例:
A temporary password is generated for root@localhost: abc123XYZ!
mysql_secure_installation
按提示操作:
mysql -u root -p
vi /etc/my.cnf
常见配置示例:
[mysqld]
character-set-server=utf8mb4
default-storage-engine=INNODB
max_connections=500
修改后重启:
systemctl restart mysqld
CREATE USER 'test'@'%' IDENTIFIED BY 'Test@123';
GRANT ALL PRIVILEGES ON *.* TO 'test'@'%';
FLUSH PRIVILEGES;
UPDATE mysql.user SET host='%' WHERE user='root';
FLUSH PRIVILEGES;
防火墙放行:
firewall-cmd --add-port=3306/tcp --permanent
firewall-cmd --reload
set global validate_password.policy=LOW;
set global validate_password.length=6;
如果你用的是 CentOS 版本不同 / MySQL 5.7 / Docker / 云服务器,可以告诉我,我可以给你对应方案。