温馨提示×

centos怎么配置mysql

小樊
48
2026-09-21 00:44:31
栏目: 云计算

下面给你一份 CentOS 7 / 8 配置 MySQL 的常见完整流程(以 MySQL 8.0 为例,CentOS 6 也类似但命令略有不同)。


一、卸载自带 MariaDB(如有)

CentOS 默认可能带 MariaDB,避免冲突:

rpm -qa | grep mariadb
yum remove mariadb* -y

二、添加 MySQL YUM 源

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

三、安装 MySQL

yum install mysql-server -y

四、启动 MySQL

systemctl start mysqld
systemctl enable mysqld

查看状态:

systemctl status mysqld

五、获取初始 root 密码

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

示例:

A temporary password is generated for root@localhost: abc123XYZ!

六、初始化安全配置

mysql_secure_installation

按提示操作:

  • 修改 root 密码
  • 删除匿名用户
  • 禁止 root 远程登录(可选)
  • 删除 test 库
  • 刷新权限

七、登录 MySQL

mysql -u root -p

八、常见配置(可选)

1️⃣ 修改配置文件

vi /etc/my.cnf

常见配置示例:

[mysqld]
character-set-server=utf8mb4
default-storage-engine=INNODB
max_connections=500

修改后重启:

systemctl restart mysqld

2️⃣ 创建用户并授权

CREATE USER 'test'@'%' IDENTIFIED BY 'Test@123';
GRANT ALL PRIVILEGES ON *.* TO 'test'@'%';
FLUSH PRIVILEGES;

3️⃣ 开启远程访问

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;

❌ 忘记 root 密码

  1. 停止 MySQL
  2. 跳过权限表启动
  3. 修改密码

如果你用的是 CentOS 版本不同 / MySQL 5.7 / Docker / 云服务器,可以告诉我,我可以给你对应方案。

0 踩