在 CentOS 7 服务器上部署 MySQL 数据库是许多开发者和管理员的常见需求。虽然官方已停止维护该系统,但通过正确的软件源配置,依然可以顺利安装最新的 MySQL 8.0 版本。本文将按照实际操作顺序,详细说明从环境清理到远程访问配置的完整流程,确保你能够一步到位完成搭建。
清理旧版数据库环境
安装前必须先处理系统中可能存在的冲突文件。CentOS 7 默认自带 MariaDB,它和 MySQL 存在包名冲突,直接安装会报错。首先执行 rpm 命令检查并卸载已有的 mariadb-libs。使用 yum remove mariadb-libs -y 命令进行清理,遇到确认提示时输入 y 继续。清理完成后,建议重启一次系统,确保所有相关进程彻底退出,避免后续安装过程中出现端口占用或依赖错误。
添加官方 YUM 软件源
为了获取最新且稳定的 MySQL 安装包,强烈建议使用官方提供的 YUM 源,而不是第三方仓库。打开终端,依次执行 wget 下载脚本和 rpm 安装命令。先运行 wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm 获取源文件,接着用 yum localinstall mysql80-community-release-el7-3.noarch.rpm -y 进行本地安装。这一步完成后,系统会自动在 /etc/yum.repos.d/ 目录下生成对应的配置文件,为下一步的正式安装铺平道路。
执行在线安装命令
软件源就绪后,就可以开始拉取并安装 MySQL 核心组件了。直接在终端输入 yum install mysql-community-server -y 即可。系统会自动解析依赖关系并下载数百兆的安装包,期间可能会出现签名验证提示,按回车确认即可。等待进度条走完,服务器会自动解压、编译并部署相关文件。整个过程大约需要几分钟,具体速度取决于你的网络状况。安装结束后,可以通过 rpm -q mysql-community-server 命令核对版本号,确认是否成功安装最新版。
启动服务与初始化配置
安装完成并不代表数据库已经可以使用,还需要手动激活服务。使用 systemctl start mysqld 命令启动守护进程,然后通过 systemctl enable mysqld 设置开机自启。启动后,立即检查运行状态 systemctl status mysqld,看到 active running 字样说明服务正常。此时数据库的临时密码已经被写入日志文件,路径位于 /var/log/mysqld.log。使用 grep password /var/log/mysqld.log | tail -1 提取该密码,复制备用。千万不要忘记密码,否则无法进入数据库管理界面。
安全加固与初始登录
首次登录必须使用刚刚找到的临时密码。执行 mysql_secure_installation 脚本,系统会引导你完成一系列安全设置。第一步要求修改 root 账户密码,MySQL 8.0 强制要求密码包含大小写字母、数字和特殊符号,长度至少八位,请按提示设置一个强密码。第二步询问是否移除匿名用户,选 y。第三步禁止 root 远程登录,如果后续需要远程连接则选 n,本地测试可保持默认。第四步删除测试数据库和权限表,一路输入 y 完成清理。脚本执行完毕后,root 账户就已经处于安全可用状态。
配置远程访问权限
很多用户安装成功后发现只能在本机连接,这是因为防火墙拦截了新端口以及数据库默认限制了外部 IP。先在命令行模式下登录 MySQL,执行 use mysql; 切换数据库,然后更新 user 表的 host 字段为 %,代表允许任意 IP 连接。接着执行 flush privileges; 刷新权限。系统层面还需要放行 3306 端口,执行 firewall-cmd --zone=public --add-port=3306/tcp --permanent 添加规则,再用 firewall-cmd --reload 重载配置。至此,其他电脑上的数据库客户端就能成功连接服务器了。
整个安装流程虽然步骤较多,但只要严格按照顺序操作,基本不会遇到意外阻断。建议在生产环境使用前,先备份好重要数据,并定期关注官方发布的补丁更新。掌握这套标准安装方法后,你将能够高效地搭建稳定可靠的数据库服务,为后续的业务开发打下坚实基础。