在CentOS 7上安装MySQL 5.6是一个相对复杂但可行的任务,需要按照一系列步骤进行操作,以下是一份详细的指南,包括关键步骤和注意事项:
一、环境准备
1、系统更新:在进行任何安装之前,建议先更新系统软件包,以确保系统是最新的,可以使用以下命令更新系统:

- sudo yum update y
2、卸载MariaDB:CentOS 7默认安装的是MariADB,它与MySQL不兼容,因此需要先卸载MariaDB及其相关组件,执行以下命令来卸载MariaDB:
- sudo rpm qa | grep mariadb | xargs n 1 rpm e nodeps
3、创建MySQL用户和组:为了安全起见,最好创建一个专用的MySQL用户和组,执行以下命令创建MySQL用户和组:
- sudo groupadd mysql
- sudo useradd r g mysql s /bin/false mysql
二、下载MySQL 5.6安装包
1、从官方网站或其他可信来源下载MySQL 5.6的安装包,可以下载MySQLserver5.6.511.el7.x86_64.rpmbundle.tar.gz
。
2、将下载的安装包上传到CentOS系统的某个目录(如/tmp
或/home/yourusername
)下。
三、安装MySQL Server
1、解压安装包:将上传的安装包解压到指定目录,如/usr/local
,假设你将安装包放在了/home/yourusername
目录下,执行以下命令解压:
- cd /home/yourusername
- tar zxvf MySQLserver5.6.511.el7.x86_64.rpmbundle.tar.gz C /usr/local
2、安装依赖包:在安装MySQL Server之前,需要确保系统中安装了必要的依赖包,执行以下命令安装依赖包:

- sudo yum install perlDataDumper y
3、初始化数据库:进入解压后的MySQL目录,执行scripts/mysql_install_db
脚本来初始化数据库,该脚本会创建MySQL所需的系统表等,如果提示缺少autoconf
,则先安装autoconf
:
- cd /usr/local/mysql
- sudo ./scripts/mysql_install_db user=mysql basedir=/usr/local/mysql datadir=/usr/local/mysql/data
4、配置MySQL:复制supportfiles
目录下的mydefault.cnf
文件到/etc/my.cnf
,并根据需要进行编辑,设置字符集、端口号等参数。
- [client]
- defaultcharacterset=utf8
- [mysqld]
- port=3306
- socket=/var/lib/mysql/mysql.sock
- datadir=/usr/local/mysql/data
- charactersetserver=utf8
5、启动MySQL服务:可以通过以下命令启动MySQL服务:
- sudo /usr/local/mysql/bin/mysqld_safe user=mysql &
四、配置环境变量和开机自启
1、配置环境变量:将MySQL的bin
目录添加到系统的PATH
环境变量中,以便可以在任何地方运行MySQL命令,编辑~/.bash_profile
或/etc/profile
文件,添加以下内容:
- export PATH=$PATH:/usr/local/mysql/bin
然后使更改生效:
- source ~/.bash_profile
2、配置开机自启:使用systemctl
命令将MySQL服务设置为开机自启,复制supportfiles
目录下的mysql.server
文件到系统的init.d
目录:

- sudo cp /usr/local/mysql/supportfiles/mysql.server /etc/init.d/mysql
然后赋予执行权限并启用开机自启:
- sudo chmod +x /etc/init.d/mysql
- sudo systemctl enable mysqld
五、登录MySQL并进行初始配置
1、登录MySQL:以root身份登录MySQL,由于是第一次登录,不需要密码:
- mysql u root
2、修改密码:登录后,使用以下命令修改root用户的密码:
- ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
- FLUSH PRIVILEGES;
3、删除测试数据库和匿名用户:为了提高安全性,建议删除测试数据库和匿名用户:
- DROP DATABASE test;
- DELETE FROM mysql.user WHERE User='';
- FLUSH PRIVILEGES;
六、防火墙配置(可选)
如果服务器启用了防火墙,需要开放MySQL的默认端口3306,以便允许远程连接,执行以下命令开放端口:
- sudo firewallcmd zone=public addport=3306/tcp permanent
- sudo firewallcmd reload
FAQs
1、如何确认MySQL是否安装成功?
答:可以通过以下命令检查MySQL服务状态:
- sudo systemctl status mysqld
如果服务正在运行且没有错误信息,通常表示安装成功,也可以使用以下命令登录MySQL并查看版本信息来进一步确认:
- mysql u root p
- SELECT VERSION();
2、如何备份和恢复MySQL数据?
答:备份MySQL数据可以使用mysqldump
工具,要备份所有数据库,可以使用以下命令:
- mysqldump u root p alldatabases > alldatabasesbackup.sql
要恢复数据,可以将备份文件导入MySQL:
- mysql u root p < alldatabasesbackup.sql
在执行这些命令时,系统可能会提示你输入root用户的密码。