centos7安装mysql8详细教程

2026-10-13 23:59:36

在CentOS 7服务器上部署MySQL 8数据库是许多开发者和管理员的基础需求。相比旧版本,MySQL 8在性能、安全性和JSON处理上有显著提升。下面将一步步带你完成从环境准备到远程连接的完整安装过程,全程使用命令行操作,适合生产环境和开发测试。

环境准备与依赖检查

首先确保你的CentOS 7系统已经更新到最新状态。打开终端,执行yum update命令同步系统包列表并升级现有软件。这一步能避免后续安装时出现依赖冲突。安装完成后重启一次系统,确保内核模块加载正常。接着检查当前是否已存在MariaDB或旧版MySQL,如果有需要彻底卸载,防止端口和配置文件冲突。你可以使用rpm -qa | grep mysql和rpm -qa | grep mariadb查看残留包,再用yum remove进行清理。

添加MySQL官方YUM源

CentOS默认的软件源不包含MySQL 8,需要手动添加官方仓库。使用wget工具下载社区版发布包,命令为wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm。下载成功后,通过yum localinstall命令本地安装该RPM文件。安装过程中系统会自动生成etcyum.repos.dmysql-community.repo配置文件。你可以通过cat命令查看该文件,确认enabled值为1的通道确实是mysql80-community。如果之前启用了其他版本通道,记得用sed命令将其关闭,避免yum误装MySQL 5系列。

安装MySQL 8服务器

源配置完毕后,就可以正式拉取并安装数据库了。执行yum install mysql-community-server命令。系统会提示即将安装的包列表,直接按y确认即可。下载安装时间取决于网络速度,通常几分钟内完成。安装结束后,MySQL的服务文件、数据目录和配置文件都会自动放置在标准路径下。此时数据库尚未初始化,需要先启动服务触发首次配置。使用systemctl start mysqld命令拉起守护进程。启动后务必用systemctl status mysqld检查运行状态,确保显示active running且无报错信息。

获取临时密码并修改root密码

MySQL 8首次启动后会随机生成一个临时密码,并存放在错误日志中。使用grep命令查找日志中的临时密码,具体语句为grep temporary password /var/log/mysqld.log。找到类似A temporary password is generated for root@localhost: xxxxxxxx的记录后,记下冒号后的字符。接下来登录数据库,执行mysql_secure_installation命令进入安全配置向导。向导会要求输入刚才找到的临时密码,验证通过后依次选择是否启用密码强度校验插件、移除匿名用户、禁止root远程登录、删除测试数据库并刷新权限表。所有选项按需确认即可完成基础加固。如果想自定义root密码,可以进入mysql客户端后直接执行alter user 'root'@'localhost' identified by '你的强密码';语句,注意密码需包含大小写字母、数字和特殊符号,长度至少八位。

配置远程访问与防火墙

默认情况下MySQL 8仅允许本地连接。如需从其他机器访问,需要修改监听地址并放行网络端口。打开etcmycnf配置文件,找到bindaddress参数,将其值由127.0.0.1改为0.0.0.0或注释掉该行。保存退出后重启mysqld服务使配置生效。同时CentOS 7内置firewalld会拦截外部请求,需执行firewall-cmd --permanent --add-port=3306/tcp命令开放数据库端口,再用firewall-cmd --reload重新加载规则。如果你在云服务器上运行,别忘了在控制台的安全组策略里添加入站规则,协议选TCP,端口填3306,授权对象设为你的IP段或任意地址。最后用navicat或命令行客户端测试远程连通性,看到成功连接即代表配置无误。

日常维护与性能优化建议

安装完成并不代表一劳永逸。MySQL 8默认使用utf8mb4字符集,支持emoji和生僻字,无需额外调整。定期备份数据是关键,可以使用mysqldump工具导出全量库,结合crontab实现定时任务。监控慢查询日志有助于发现性能瓶颈,开启slowquerylog并设置longquerytime阈值,能精准定位耗时语句。对于内存较大的服务器,可适当调高innodbbufferpoolsize参数,一般设为物理内存的百分之五十到七十。避免频繁切换大事务,合理设计索引结构,配合explain分析执行计划,能让数据库在高并发场景下保持稳定运行。遇到权限拒绝或连接超时问题,优先检查用户host字段匹配规则和防火墙白名单。掌握这些基础操作后,你就能自信地管理MySQL 8实例了。

相关文章