MySQL 5.7 for CentOS
安装步骤详解
1. 环境准备

确保CentOS系统满足以下条件:
确保网络连接正常,以便下载必要的软件包和仓库配置。
确保wget工具已安装,用于下载MySQL安装包。
- yum install wget y
2. 卸载旧版本的MySQL(如有)
检查系统中是否已安装MySQL相关包。
- rpm qa | grep i mysql
卸载MySQL社区版相关包。

- rpm ev nodeps mysqlcommunitycommon5.7.441.el7.x86_64
- rpm ev nodeps mysql57communityreleaseel710.noarch
- rpm ev nodeps mysqlcommunitylibs5.7.441.el7.x86_64
- rpm ev nodeps mysqlcommunityserver5.7.441.el7.x86_64
- rpm ev nodeps mysqlcommunityclient5.7.441.el7.x86_64
查找并删除MySQL相关文件和目录。
- find / name mysql
- rm rf /var/lib/mysql
- rm rf /usr/lib64/mysql
- rm rf /usr/share/mysql
删除MySQL配置文件。
- rm rf /etc/my.cnf
再次检查系统中是否还有MySQL相关包。
- rpm qa | grep i mysql
- rpm qa | grep mariadb
3. 下载与安装MySQL 5.7
下载MySQL 5.7社区版的YUM仓库配置包。
- wget https://dev.mysql.com/get/mysql57communityreleaseel710.noarch.rpm
安装MySQL 5.7社区版仓库配置包。

- yum y install mysql57communityreleaseel710.noarch.rpm
导入MySQL的公钥。
- rpm import https://repo.mysql.com/RPMGPGKEYmysql2022
安装MySQL社区服务器。
- yum y install mysqlcommunityserver
启动MySQL服务。
- systemctl start mysqld.service
检查MySQL服务状态。
- systemctl status mysqld.service
获取临时密码。
- grep "password" /var/log/mysqld.log
登录MySQL。
- mysql uroot p
修改root用户密码。
- ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
- exit;
重启MySQL服务。
- service mysqld restart
使用新密码登录MySQL。
- mysql uroot p
4. 配置MySQL 5.7
配置密码安全策略(可选)。
- set global validate_password_policy=0;
- set global validate_password_mixed_case_count=0;
- set global validate_password_number_count=0;
- set global validate_password_special_char_count=0;
- set global validate_password_length=3;
修改root用户密码。
- ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
- exit;
重启MySQL服务。
- service mysqld restart
使用新密码登录MySQL。
- mysql uroot p
配置编码格式。
查看编码格式。
- status;
设置客户端编码。
- [client]
- defaultcharacterset=utf8
设置服务器编码。
- set character_set_server=utf8;
- set collationserver=utf8_general_ci;
设置其他编码相关配置。
- set character_set_client=utf8;
- set character_set_connection=utf8;
- set character_set_database=utf8;
- set character_set_results=utf8;
- set character_set_server=utf8;
配置远程连接。
授予具有完全权限的root用户从任何地方连接到数据库。
- GRANT ALL PRIVILEGES ON *.* TO root@'%' IDENTIFIED BY 'new_password' WITH GRANT OPTION;
- FLUSH PRIVILEGES;
配置防火墙规则。
关闭防火墙(如果需要)。
- firewallcmd zone=public addport=3306/tcp permanent
- firewallcmd reload
检查防火墙状态。
- systemctl status firewalld
开放3306端口后,重新载入防火墙规则。
- firewallcmd reload
获取系统的IP地址。
- ifconfig
使用数据库连接工具Navicat进行连接,输入主机、端口、用户名和密码,点击连接测试,提示连接成功。
5. 测试建库建表和字符集
使用Navicat远程连接到数据库后,手动进行建库建表的操作,建表如下:
CREATE TABLE(
- test
int(11) NOT NULL AUTO_INCREMENT,
- id
varchar(255) DEFAULT NULL, PRIMARY KEY (
- name
) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
- id
插入数据进行测试。
INSERT INTO(
- test
) VALUES ('测试'); SELECT * FROM
- name
;
- test
至此,CentOS上安装MySQL 5.7完成,并且进行了基本的配置和测试。