很多服务器运维人员在使用CentOS或RedHat系统时,习惯通过RPM包来部署MySQL数据库。相比于源码编译,RPM安装方式更稳定、路径更规范,且能自动处理大部分底层依赖。本文将带你一步步完成MySQL 5.7.25版本的完整安装流程,避开常见坑点,确保服务顺利运行。
环境准备与依赖检查
在安装之前,先确认系统版本是否为CentOS 7或RHEL 7系列。打开终端后,使用rpm命令查询是否已存在旧版MySQL或MariaDB。如果存在,建议先卸载干净,避免端口和文件冲突。执行yum update更新系统基础包,然后安装必要的依赖库。重点需要gcc、make以及libaio等组件,可以通过yum groupinstall或者单独安装libaio-devel和numactl来解决后续初始化时的报错问题。同时,关闭防火墙的80和3306端口限制,或者在firewalld中放行对应端口,方便后续远程连接测试。
下载官方RPM安装包
RPM包通常分为通用包、客户端、服务端和开发包四个核心部分。你需要从Oracle官网或国内镜像站下载对应的.noarch.rpm和.x86_64.rpm文件。进入下载目录后,你会看到类似mysql-community-common、mysql-community-libs、mysql-community-client、mysql-community-server这四个主要文件。下载完成后,务必核对文件完整性,虽然官方源一般自带校验,但手动确认MD5值能避免网络传输导致的损坏。建议将四个文件放在同一个文件夹内,方便后续批量调用。
执行顺序安装命令
MySQL的RPM包有严格的依赖顺序,必须先装公共组件,再装客户端,最后装服务端。推荐使用yum localinstall命令进行本地安装,这样能自动拉取缺失的关联包。依次执行针对common、libs、client、server的安装指令。过程中系统会提示是否导入GPG密钥,输入y确认即可。如果遇到冲突提示,可以加上--force参数跳过,但正常情况下按顺序执行不会报错。安装完成后,配置文件会自动生成在etcmy.cnf目录下,数据目录默认指向varlibmysql。
初始化与启动服务
RPM包安装完毕只是完成了软件部署,数据库引擎还需要初始化才能使用。执行mysqld初始化命令,指定datadir和user参数。这一步会生成系统表空间并创建root用户,耗时取决于硬盘读写速度。初始化成功后,直接通过systemctl start mysqld开启服务。使用systemctl status mysqld查看运行状态,绿灯亮起代表启动正常。如果服务无法启动,请检查日志文件varlogmysqld.log,里面会有具体的错误代码,通常是权限不足或端口被占用导致。
获取临时密码与安全设置
5.7版本引入了安全机制,首次启动时会为root账号生成随机临时密码。该密码记录在error_log的最后几行,关键词是A temporary password is generated。找到密码后,登录MySQL客户端并修改初始密码。建议使用alter user命令重置密码,同时激活密码强度策略。接着运行mysql_secure_installation脚本,按照提示移除匿名用户、禁止root远程登录、删除测试数据库。这些步骤能大幅降低数据库被暴力破解的风险,符合企业级安全规范。
常见问题排查
安装过程中最容易出现的问题是大小写敏感和字符集配置。默认情况下Linux环境的lower_case_table_names为0,严格区分文件名大小写。如果业务代码使用了不规范命名,建议在初始化前修改my.cnf中的相关参数。另外,SELinux开启时可能会拦截MySQL访问数据目录,可以使用semanage fcontext修复上下文标签,或者临时设置为permissive模式测试。遇到连接超时,除了检查iptables,还要确认bind_address是否绑定了127.0.0.1,改为0.0.0.0可允许外部接入。
掌握上述步骤后,MySQL 5.7.25就能在Linux服务器上稳定跑起来。定期备份ibdata文件和慢查询日志,配合监控工具跟踪性能指标,能让数据库长期保持高效运转。遇到问题多查官方文档和社区案例,逐步积累经验,部署工作会越来越顺手。



