CentOS 7安装MySQL 5.5详细指南
一、前提条件与系统准备

在开始之前,请确保你的CentOS 7系统已经更新到最新状态,打开终端并执行以下命令:
- sudo yum update y
二、检查并卸载现有MySQL或MariADB版本
需要检查系统是否已经安装了其他版本的MySQL或MariaDB,并进行卸载以避免冲突。
1. 检查已安装的MySQL/MariaDB版本
- rpm qa | grep i mysql
- rpm qa | grep i mariadb
卸载现有版本(如有)
- sudo yum remove y mysqlserver mysqlcommunityserver mariadblibs mariadb
三、下载MySQL 5.5版本
由于MySQL 5.5是一个较旧的版本,你需要从MySQL官方网站的归档中手动下载RPM包。

访问[MySQL官方下载地址](https://dev.mysql.com/downloads/mysql/),选择适合你的系统架构的RPM包进行下载。
- wget https://downloads.mysql.com/archives/get/file/mysql5.5.62linux2.6x86_64.tar.gz
将下载的文件解压到一个合适的位置,比如/usr/local/
:
- tar zxvf mysql5.5.62linux2.6x86_64.tar.gz C /usr/local/
- cd /usr/local/mysql
四、初始化MySQL数据库
在进行初始化之前,建议创建一个新的用户和组来运行MySQL服务,以增强安全性。
- sudo groupadd mysql
- sudo useradd r g mysql s /bin/false mysql
- cd /usr/local/mysql
- sudo scripts/mysql_install_db user=mysql
注意:上面的命令假设你已经解压了MySQL 5.5,并且当前目录是解压后的MySQL根目录。
五、配置MySQL服务

为了能够像现代Linux发行版那样管理MySQL服务,我们需要创建一个systemd服务单元文件。
创建MySQL服务目录和配置文件
- sudo mkdir /etc/my.cnf.d
- sudo touch /etc/my.cnf.d/mysqlserver.cnf
编辑MySQL配置文件
使用你喜欢的文本编辑器(如vi或nano)编辑/etc/my.cnf.d/mysqlserver.cnf
文件,添加以下内容:
- [mysqld]
- basedir = /usr/local/mysql
- datadir = /usr/local/mysql/data
- port = 3306
- socket = /usr/local/mysql/mysql.sock
- user = mysql
- Disabling symboliclinks is recommended to prevent assorted security risks
- symboliclinks=0
创建systemd服务单元文件
- sudo vi /etc/systemd/system/mysqld.service
添加以下内容:
- [Unit]
- Description=MySQL Server
- After=network.target
- [Service]
- Type=forking
- ExecStart=/usr/local/mysql/bin/mysqld_safe user=mysql
- ExecStop=/usr/local/mysql/supportfiles/mysqladmin shutdown
- Restart=onabort
- [Install]
- WantedBy=multiuser.target
4. 重新加载systemd配置并启动MySQL服务
- sudo systemctl daemonreload
- sudo systemctl start mysqld
- sudo systemctl enable mysqld
六、设置root用户密码和安全配置
首次安装后,需要为root用户设置密码,并进行一些基本的安全配置。
临时修改认证插件(可选,但推荐)
由于MySQL 5.5默认使用mysql_native_password
认证插件,你可能希望将其更改为更安全的caching_sha2_password
(如果你打算升级到更高的MySQL版本),但在初次安装时,建议保持默认设置以避免潜在问题。
登录MySQL并设置root密码
- sudo /usr/local/mysql/bin/mysql u root
在MySQL提示符下执行:
- FLUSH PRIVILEGES;
- ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
配置远程访问(如果需要)
编辑/etc/my.cnf.d/mysqlserver.cnf
文件,注释掉bindaddress = 127.0.0.1
这一行,或者将其设置为服务器的IP地址或0.0.0.0
以允许所有IP访问,然后重启MySQL服务:
- sudo systemctl restart mysqld
开放防火墙端口(如果启用了防火墙)
- sudo firewallcmd permanent addport=3306/tcp
- sudo firewallcmd reload
七、常见问题排查与FAQs
Q1: 无法连接到MySQL数据库怎么办?
A1: 首先检查MySQL服务是否正在运行:sudo systemctl status mysqld
,如果服务未运行,尝试启动它:sudo systemctl start mysqld
,如果服务正常运行,但仍然无法连接,检查防火墙设置和my.cnf
中的绑定地址配置,确保你使用的是正确的用户名和密码,以及正确的主机名(对于远程连接)。
Q2: 如何备份和恢复MySQL数据库?
A2: 备份可以通过mysqldump
工具实现,备份所有数据库:mysqldump u root p alldatabases > alldb_backup.sql
,恢复数据库可以使用mysql
命令:mysql u root p < alldb_backup.sql
,确保在恢复之前创建必要的数据库和表结构。