温馨提示×

centos如何配置mysql

小樊
38
2026-09-24 00:52:08
栏目: 云计算

下面以 CentOS 7 / 8 为例,介绍如何安装和配置 MySQL(以 MySQL 8.0 为主,兼顾 5.7)。


一、安装 MySQL

1. 卸载自带 MariaDB(避免冲突)

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

2. 添加 MySQL YUM 源(以 MySQL 8.0 为例)

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

CentOS 8 可用:

dnf install -y https://dev.mysql.com/get/mysql80-community-release-el8-1.noarch.rpm

3. 安装 MySQL

yum install mysql-server -y

或

dnf install mysql-server -y

二、启动并设置开机启动

systemctl start mysqld
systemctl enable mysqld
systemctl status mysqld

三、初始密码与安全配置

1. 查看初始 root 密码

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

2. 安全初始化

mysql_secure_installation

按提示:

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

四、基本配置(my.cnf)

配置文件位置:

/etc/my.cnf

示例(常用):

[mysqld]
character-set-server=utf8mb4
collation-server=utf8mb4_general_ci
bind-address=0.0.0.0
max_connections=500

修改后重启:

systemctl restart mysqld

五、创建用户与数据库

CREATE DATABASE testdb DEFAULT CHARACTER SET utf8mb4;

CREATE USER 'testuser'@'%' IDENTIFIED BY 'Password123!';
GRANT ALL PRIVILEGES ON testdb.* TO 'testuser'@'%';
FLUSH PRIVILEGES;

六、防火墙配置(远程访问)

firewall-cmd --add-port=3306/tcp --permanent
firewall-cmd --reload

七、常见问题

1. 忘记 root 密码

systemctl stop mysqld
mysqld_safe --skip-grant-tables &

然后:

ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPass123!';

2. 密码策略太严格

SET GLOBAL validate_password.policy=LOW;

如果你需要:

  • CentOS + MySQL 5.7
  • Docker 方式部署
  • 主从复制配置

可以告诉我,我可以进一步说明。

0 踩