在 CentOS 上安装 MySQL 5.6 是一项常见的任务,尽管 CentOS 7 默认的数据库是 MariADB,以下是一个详细的步骤指南,包括必要的命令和配置,帮助你成功安装并配置 MySQL 5.6。
准备工作
下载 MySQL 安装包

从 MySQL 官方网站下载 MySQL 5.6 的安装包,你可以访问 [MySQL 下载页面](httPS://dev.mysql.com/downloads/mysql/) 获取最新版本。
- wget https://dev.mysql.com/get/Downloads/MySQL5.6/mysql5.6.34linuxglibc2.5x86_64.tar.gz
解压安装包
将下载的安装包上传到服务器,并在/usr/local
目录下解压。
- sudo tar zxvf mysql5.6.34linuxglibc2.5x86_64.tar.gz C /usr/local/
- mv /usr/local/mysql5.6.34linuxglibc2.5x86_64 /usr/local/mysql
卸载系统自带的 MariaDB
为了避免冲突,需要先卸载 CentOS 自带的 MariaDB。
- sudo yum remove mariadblibs y
- sudo yum autoremove y
创建 MySQL 用户和组
为了安全起见,创建一个专门的用户和组来运行 MySQL 服务。
- sudo groupadd mysql
- sudo useradd r g mysql s /bin/false mysql
配置 MySQL
复制配置文件模板

将默认的配置文件模板复制到/etc
目录,并进行编辑。
- sudo cp /usr/local/mysql/supportfiles/mydefault.cnf /etc/my.cnf
编辑/etc/my.cnf
文件:
- [mysqld]
- basedir=/usr/local/mysql
- datadir=/usr/local/mysql/data
- port=3306
- socket=/var/lib/mysql/mysql.sock
- user=mysql
- Disabling symboliclinks is recommended to prevent assorted security risks
- symboliclinks=0
- logerror=/var/log/mysqld.log
- pidfile=/var/run/mysqld/mysqld.pid
- skipexternallocking
初始化数据库
进入 MySQL 安装目录,并初始化数据库。
- cd /usr/local/mysql
- sudo scripts/mysql_install_db user=mysql basedir=/usr/local/mysql datadir=/usr/local/mysql/data
如果遇到错误提示需要安装 Perl 模块,请执行以下命令:
- sudo yum install perlDataDumper y
然后重新初始化数据库。
设置权限和启动服务
赋予 MySQL 数据目录正确的权限,并启动 MySQL 服务。

- sudo chown R mysql:mysql /usr/local/mysql
- sudo chown R mysql:mysql /usr/local/mysql/data
添加 MySQL 服务到系统服务中:
- sudo cp /usr/local/mysql/supportfiles/mysql.server /etc/init.d/mysqld
- sudo chmod +x /etc/init.d/mysqld
- sudo chkconfig add mysqld
- sudo service mysqld start
设置环境变量
为了使mysql
命令全局可用,需要将其添加到系统的 PATH 环境变量中。
编辑~/.bash_profile
文件,添加以下行:
- export PATH=$PATH:/usr/local/mysql/bin
然后使更改生效:
- source ~/.bash_profile
登录并配置 root 密码
使用以下命令登录 MySQL:
- mysql u root p
然后输入临时生成的 root 密码,接着修改 root 密码:
- ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPassword';
- FLUSH PRIVILEGES;
设置远程访问(可选)
如果你需要允许远程访问,可以执行以下 SQL 语句:
- GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'NewPassword' WITH GRANT OPTION;
- FLUSH PRIVILEGES;
常见问题解答 (FAQs)
Q1: 如何更改 MySQL 默认端口号?
A1: 在my.cnf
文件中更改port
参数即可,将默认的3306
改为3307
,然后重启 MySQL 服务。
Q2: 如何备份和恢复 MySQL 数据库?
A2: 使用mysqldump
工具进行备份,使用mysql
命令进行恢复,备份数据库的命令为:
- mysqldump u root p database_name > backup.sql
恢复数据库的命令为:
- mysql u root p database_name < backup.sql