在CentOS 7上安装MySQL 5.7是一个常见的任务,特别是在开发和生产环境中,以下是一个详细的指南,涵盖从下载到配置的各个方面,确保你能顺利地完成安装并启动MySQL服务。
一、准备工作
1、更新系统:在开始之前,确保你的centos系统是最新的,打开终端并运行以下命令:

- sudo yum update y
2、检查是否已安装MySQL:为了避免版本冲突,先检查系统上是否已经安装了MySQL。
- rpm qa | grep mysql
二、下载MySQL 5.7安装包
1、选择Linux版本:访问MySQL官方下载页面,选择适用于Linux的64位tar包。
2、下载tar包:点击下载链接,等待下载完成。
三、上传并解压安装包
1、上传到服务器:将下载的tar包上传到服务器的根目录或你创建的目录下,usr/local。
2、解压安装包:进入存放tar包的目录并解压。
- tar xf mysql5.7.38linuxglibc2.12x86_64.tar.gz
四、卸载系统自带的MariaDB
1、查找系统自带的mariadb:大多数CentOS系统会自带一个mariADB版本,需要先卸载。

- rpm qa | grep mariadb
2、卸载mariadb:使用以下命令卸载mariadb。
- sudo yum remove mariadblibs5.5.601.el7 y
五、安装MySQL 5.7
1、解压并重命名目录:解压后生成的目录重命名为mysql。
- mv mysql5.7.38linuxglibc2.12x86_64 mysql
2、创建mysql用户和组:为了安全起见,为MySQL创建一个专用用户和组。
- groupadd mysql
- useradd r g mysql s /bin/false mysql
3、更改文件权限:将mysql目录的所有权更改为mysql用户和组,并赋予执行权限。
- chown R mysql:mysql /usr/local/mysql
- chmod R 755 /usr/local/mysql
4、创建快捷方式:为了方便使用,可以创建一些快捷方式。
- echo "export PATH=$PATH:/usr/local/mysql/bin" >> ~/.bash_profile
- source ~/.bash_profile
5、生成临时密码:查看MySQL日志文件以获取临时生成的密码。

- grep 'A temporary password' /var/log/mysqld.log
6、登录MySQL并修改密码:使用临时密码登录并修改root密码。
- mysql u root p
- ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPassword!';
六、配置MySQL服务
1、复制启动文件:将mysql的启动脚本复制到init.d目录。
- cp /usr/local/mysql/supportfiles/mysql.server /etc/init.d/mysqld
2、添加my.cnf配置文件:编辑my.cnf配置文件,设置字符集和绑定地址等。
- [mysqld]
- datadir=/usr/local/mysql/data
- socket=/usr/local/mysql/mysql.sock
- user=mysql
- charactersetserver=utf8
- collationserver=utf8_general_ci
- bindaddress = 0.0.0.0
3、启动MySQL服务:启动MySQL服务并设置为开机自启。
- systemctl start mysqld
- systemctl enable mysqld
七、开放远程连接
1、授权远程访问:允许root用户从任何主机连接。
- GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'NewPassword!' WITH GRANT OPTION;
- FLUSH PRIVILEGES;
2、配置防火墙:开放3306端口以允许外部访问。
- firewallcmd permanent addport=3306/tcp
- firewallcmd reload
八、测试与验证
1、测试远程连接:使用数据库客户端工具(如MySQL Workbench)或命令行工具测试远程连接。
- mysql h your_server_ip u root p
2、建库建表测试:创建数据库和表,测试中文字符集支持。
- CREATE DATABASE testdb;
- USE testdb;
- CREATE TABLE testtable (id INT, name VARCHAR(255));
- INSERT INTO testtable (id, name) VALUES (1, '测试');
- SELECT * FROM testtable;
九、FAQs
Q1:如何更改MySQL的默认存储引擎?
A1:可以通过修改my.cnf配置文件来更改默认存储引擎,在[mysqld]部分添加以下行:
- defaultstorageengine=INNODB
然后重启MySQL服务。
Q2:如何备份和恢复MySQL数据库?
A2:可以使用mysqldump工具进行备份和恢复,备份命令如下:
- mysqldump u root p database_name > backup.sql
恢复命令如下:
- mysql u root p database_name < backup.sql
通过以上步骤,你应该能够在CentOS 7上成功安装并配置MySQL 5.7,如果在过程中遇到任何问题,可以参考MySQL官方文档或社区论坛寻求帮助。