在 CentOS 上安装 MySQL 5.5 是一个相对复杂但非常实用的任务,以下将详细介绍如何在 CentOS 上安装 MySQL 5.5 的步骤,包括前期准备、下载和安装过程、配置与启动、以及常见问题的解决方案。
一、前期准备
1、卸载现有数据库:由于 CentOS 7 自带 MariADB,需要先卸载它,可以通过以下命令查找并删除 MariaDB 和 MySQL:

- rpm qa | grep mariadb
- rpm qa | grep mysql
- sudo yum remove mariadb* mysql* y
2、安装依赖包:根据不同的环境需求,可能需要安装一些额外的依赖包,使用以下命令安装常见的依赖:
- sudo yum install gcc gccc++ make cmake ncursesdevel bison libaiodevel y
二、下载与安装 MySQL 5.5
1、下载安装包:从 MySQL 官方网站下载所需的版本,下载 MySQL 5.5.62:
- wget https://downloads.mysql.com/archives/get/file/mysql5.5.62linuxglibc2.12x86_64.tar.gz
2、解压安装包:将下载的 tar.gz 文件上传到服务器,并进行解压:
- tar zxvf mysql5.5.62linuxglibc2.12x86_64.tar.gz
3、移动到目标目录并改名:将解压后的目录移动到 /usr/local 目录下,并重命名为 mysql5.5.60(或其他合适的名字):
- mv mysql5.5.62linuxglibc2.12x86_64 /usr/local/mysql5.5.60
三、配置与初始化
1、创建配置文件:编辑或创建/etc/my.cnf
文件,添加以下内容:
- [mysql]
- defaultcharacterset=utf8
- socket=/var/lib/mysql/mysql.sock
- [mysqld]
- skipnameresolve
- port = 3306
- socket=/var/lib/mysql/mysql.sock
- basedir=/usr/local/mysql5.5.60
- datadir=/usr/local/mysql5.5.60/data
- max_connections=200
- charactersetserver=utf8
- defaultstorageengine=INNODB
- lower_case_table_name=1
- max_allowed_packet=16M
2、初始化数据库:切换到 MySQL 目录,执行初始化脚本:

- cd /usr/local/mysql5.5.60
- groupadd mysql
- useradd r g mysql s /bin/false mysql
- scripts/mysql_install_db user=mysql basedir=/usr/local/mysql5.5.60/ datadir=/usr/local/mysql5.5.60/data/
四、启动与管理服务
1、启动 MySQL 服务:执行以下命令启动 MySQL:
- /usr/local/mysql5.5.60/supportfiles/mysql.server start
2、设置开机自启动:为了确保 MySQL 在系统重启后自动启动,可以将其添加到 systemd 服务中:
- cp supportfiles/mysql.server /etc/init.d/mysqld
- chmod +x /etc/init.d/mysqld
- chkconfig add mysqld
- chkconfig mysqld on
3、检查运行状态:通过以下命令查看 MySQL 是否正常运行:
- ps ef | grep mysqld
五、登录与配置远程访问
1、登录 MySQL:使用以下命令登录 MySQL:
- mysql u root p
2、修改 root 密码:进入 MySQL 后,修改 root 用户的密码:
- ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
3、设置远程访问:允许 root 用户从任何 IP 地址登录,并刷新权限:

- GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '新密码' WITH GRANT OPTION;
- FLUSH PRIVILEGES;
4、关闭防火墙:如果需要远程访问,还需要关闭防火墙:
- systemctl stop firewalld
六、常见问题及解决方案
1、问题:找不到 libncurses.so.5:如果在登录 MySQL 时遇到找不到库的错误,可以安装相关依赖:
- yum install libncurses* y
2、问题:无法写入 /var/lib/mysql:如果提示无法写入该目录,可能是权限不足,可以修改目录权限:
- chmod 777 /var/lib/mysql
通过以上步骤,可以在 CentOS 上成功安装并配置 MySQL 5.5,以下是一些最佳实践建议:
1、定期备份数据:定期备份 MySQL 数据库,以防止数据丢失,可以使用mysqldump
工具进行备份。
2、安全配置:禁用不必要的用户和权限,确保数据库的安全性。
3、性能优化:根据实际需求调整 MySQL 的配置参数,如缓冲区大小、连接数等。
4、日志监控:启用并监控 MySQL 的日志功能,及时发现并解决潜在问题。
5、更新维护:虽然本文介绍的是安装旧版本的 MySQL,但在实际生产环境中,建议尽量使用最新版本以获得最新的功能和安全补丁。
八、FAQs
Q1: 如何更改 MySQL 的数据存储目录?
A1: 在配置文件/etc/my.cnf
中修改datadir
参数,然后重新初始化数据库即可。
- [mysqld]
- datadir=/new/path/to/datadir
重新初始化数据库的命令为:
- scripts/mysql_install_db user=mysql basedir=/usr/local/mysql5.5.60/ datadir=/new/path/to/datadir/
Q2: 如果忘记 root 密码怎么办?
A2: 如果忘记了 root 密码,可以通过跳过授权表的方式重置密码,具体步骤如下:
1、停止 MySQL 服务:
- /usr/local/mysql5.5.60/supportfiles/mysql.server stop
2、跳过授权表启动 MySQL:
- /usr/local/mysql5.5.60/bin/mysqld_safe skipgranttables &
3、登录 MySQL(无需密码):
- mysql u root
4、重置密码:
- FLUSH PRIVILEGES;
- ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
5、退出并重新启动 MySQL:
- EXIT;
- /usr/local/mysql5.5.60/supportfiles/mysql.server start