CentOS 7安装MySQL 5.5完整指南:环境清理、RPM部署与远程访问配置
在 CentOS 7 环境中手动部署 MySQL 5.5 需要处理依赖清理、RPM 包安装及服务配置。本文整理从彻底清除旧版本数据、安装核心组件到开放远程权限的全套操作命令,帮助开发者快速搭建可用的数据库环境。
结果或目标
完成 MySQL 5.5 的安装,实现服务开机自启,并允许指定主机通过 root 账号进行远程数据库连接管理。
准备条件
- 系统环境:CentOS 7 (兼容 RPM 包管理的传统 Linux 发行版)。
- 安装包来源:
.rpm-bundle.tar格式的官方或第三方编译包。 - 权限要求:需要使用
root或具有 sudo 权限的用户执行系统级修改。
真实操作顺序
第1步:检查并清理旧版MySQL残留
目的:避免新旧版本配置文件冲突,确保全新安装环境干净。
入口:终端命令行 (Terminal)。
动作:
- 查询已安装的 MySQL 组件
使用以下命令查看当前系统中是否残留 MySQL 相关包:
rpm -qa | grep -i mysql
注意:如果输出中包含任何与 MySQL 相关的包名(如 client 或 server),必须将其删除。假设查找到名为 MySQL-client-5.5.40... 等包,执行:
yum remove MySQL-client-5.5.40-1.linux2.6.x86_64
yum remove MySQL-server-5.5.40-1.linux2.6.x86_64
- 查找并强制删除隐藏配置文件
由于 rpm 卸载可能遗留独立文件,需使用 find 定位并 rm 清理:
find / -name mysql
若发现路径下存在相关文件,建议执行 rm -rf [具体路径] 进行删除。重要:请务必确认不要误删系统其他无关文件。特别关注以下关键配置文件,若不存在则忽略:
# 删除旧的配置文件
rm -rf /etc/my.cnf
# 删除日志文件,防止重新安装时状态冲突
rm -rf /var/log/mysqld.log
第2步:解压并安装MySQL服务端与客户端
目的:将下载的压缩资源包解压,并使用 RPM 工具加载数据库核心程序。
入口:包含安装包目录的终端。
动作:
- 解压安装包
使用 tar 命令解压 bundle 包,通常会得到多个独立的 .rpm 文件:
tar -zxvf MySQL-5.5.40-1.linux2.6.x86_64.rpm-bundle.tar
提示:解压后你会看到大量包,通常只需安装 Server(服务端)和 Client(客户端)两个核心包即可满足基础需求,其余如 devel、share 等可按需选装。
- RPM 安装核心组件
依次执行安装命令。注意此处以示例中的 i386 版本为例,请根据实际解压出的文件名调整参数:
# 安装服务端
rpm -ivh MySQL-server-5.5.49-1.linux2.6.i386.rpm
# 安装客户端
rpm -ivh MySQL-client-5.5.49-1.linux2.6.i386.rpm
风险提示:在安装过程中如果出现依赖报错(Dependency Error),可能需要先安装对应的依赖库(如 net-tools 或 compat-libstdc++)。安装完成后切勿立即启动,先确认无报错中断。
第3步:启动服务、设置密码及开机自启
目的:初始化数据库实例,获取初始访问权限并确保系统重启后服务自动上线。
入口:系统服务管理终端。
动作:
- 启动MySQL服务
CentOS 7 早期版本常使用 service 命令:
service mysql start
如果此步骤失败,通常意味着之前的清理不彻底或包版本不匹配,请回退到第1步重新检查。
- 设置初始密码
初次安装后 root 账户默认通常为空或随机生成。对于 5.5 版本,可通过 mysqladmin 设置:
/usr/bin/mysqladmin -u root password 'your_password'
此处将密码设置为 'root' 仅作测试演示,生产环境请使用复杂密码。
- 设置开机自启
将 MySQL 加入系统服务并按需启用:
# 添加到系统服务列表
chkconfig --add mysql
# 开启自启动
chkconfig mysql on
第4步:配置远程访问权限
目的:允许非本机 IP(如 Windows 上的 Navicat/DBeaver)连接数据库。
入口:MySQL 交互终端。
动作:
- 登录数据库
使用刚才设置的密码进入控制台:
mysql -uroot -proot
- 授权 Root 用户远程连接
默认情况下 MySQL 不允许 root 从 '%' (任意IP) 登录。需在 SQL 中执行授权:
grant all privileges on *.* to 'root' @'%' identified by '123456';
flush privileges;
说明:上述命令赋予 root 账号在任意地址使用 '123456' 作为密码连接所有库的所有权限。刷新后即刻生效。
第5步:开放防火墙端口
目的:确保操作系统层面的网络过滤器允许外部请求到达 3306 端口。
入口:系统防火墙管理终端。
动作:
- 添加 iptables 规则
CentOS 7 有时仍沿用 iptables 或 firewalld,针对老旧教程常见的 iptables 写法如下:
/sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
- 保存防火墙配置
/etc/rc.d/init.d/iptables save
注意:如果是标准的 CentOS 7 (firewalld),通常应使用 firewall-cmd --permanent --add-port=3306/tcp 和 firewall-cmd --reload。若执行了文章提供的 iptables 指令,请务必确认你的服务器确实未开启 firewalld 导致规则未被持久化。
完成判断
- 运行
netstat -tulnp | grep 3306能看到监听的进程。 - 在本地机器使用数据库可视化工具(如 Navicat),输入服务器公网 IP、端口 3306 以及配置的密码,能成功建立连接。
原文有依据的排错
- 连接被拒绝 (Connection Refused):最常见原因是防火墙未开 3306 端口,或者 MySQL 内部未 grant remote access。同时确认 mysqld 服务处于 Running 状态。
- 登录报错 Access Denied:检查用户名拼写、密码是否正确,或确认 host 字段是否为 '%/localhost' 而非 '127.0.0.1'。
- Service Start Fail:查看
/var/log/mysqld.log日志获取详细错误堆栈,多数情况是残留数据文件导致。
简要总结
在 CentOS 7 上手动安装 MySQL 5.5 涉及繁琐的系统清理和底层服务配置。关键在于彻底删除旧版残留以避免冲突,正确安装 Server/Client 双包,以及务必在系统层和网络层双重开通 3306 端口的读写权限。以上就是 CentOS 7 环境下安装和配置 MySQL 5.5 数据库的详细流程,更多关于 Linux 服务器运维的知识,欢迎继续关注本站相关文章!
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













