在CentOS系统中部署MySQL服务器是很多后端服务搭建的基础操作,整个过程可以分为安装、初始化、配置三个核心阶段,按照步骤操作可以快速完成环境搭建。

一、安装前准备
CentOS默认的yum源中可能没有最新版的MySQL安装包,需要先添加MySQL官方源。如果之前安装过MariaDB需要先卸载,避免冲突:
# 查看是否已安装MariaDB rpm -qa | grep mariadb # 如果存在对应包,执行卸载命令 rpm -e --nodeps mariadb-libs # 下载MySQL官方yum源,这里以MySQL8.0为例 wget https://dev.mysql.com/get/mysql80-community-release-el7-5.noarch.rpm # 安装yum源 rpm -ivh mysql80-community-release-el7-5.noarch.rpm
二、安装MySQL服务
添加源之后就可以通过yum直接安装MySQL服务和相关组件:
# 安装MySQL服务,过程中输入y确认即可 yum install mysql-community-server mysql-community-client mysql-community-common mysql-community-libs -y
安装完成后可以通过以下命令查看MySQL版本,确认安装成功:
mysql --version
三、初始化与启动服务
安装完成后需要先启动MySQL服务,同时设置开机自启:
# 启动MySQL服务 systemctl start mysqld # 设置开机自启 systemctl enable mysqld # 查看服务运行状态 systemctl status mysqld
MySQL第一次启动时会自动生成临时root密码,存储在日志文件中,可以通过以下命令获取:
grep 'temporary password' /var/log/mysqld.log
四、基础配置操作
1. 修改root密码
使用临时密码登录MySQL后,必须修改密码才能执行后续操作,MySQL8.0默认密码策略要求包含大小写字母、数字和特殊字符:
# 登录MySQL,输入刚才获取的临时密码 mysql -u root -p # 修改root密码,替换为自己的密码 ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPass@123'; # 刷新权限 FLUSH PRIVILEGES;
2. 配置远程访问权限
默认情况下root用户只允许本地登录,如果需要远程连接MySQL,需要修改权限:
# 创建允许远程访问的root用户,或者修改现有用户host为% CREATE USER 'root'@'%' IDENTIFIED BY 'NewPass@123'; # 授予所有权限 GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION; # 刷新权限 FLUSH PRIVILEGES;
3. 修改配置文件
MySQL的配置文件默认在/etc/my.cnf,可以根据需求调整参数,比如修改字符集为utf8mb4,设置端口等:
[mysqld] # 设置端口,默认3306 port=3306 # 设置字符集 character-set-server=utf8mb4 collation-server=utf8mb4_general_ci # 允许外部连接 bind-address=0.0.0.0 [client] default-character-set=utf8mb4
修改完成后重启MySQL服务让配置生效:
systemctl restart mysqld
五、常见问题解决
- 如果远程连接失败,先检查防火墙是否开放3306端口:
firewall-cmd --add-port=3306/tcp --permanent && firewall-cmd --reload - 如果提示密码策略不符合要求,可以降低密码策略等级:
set global validate_password.policy=0;再设置简单密码 - 如果启动服务失败,可以查看
/var/log/mysqld.log日志定位具体错误原因