在CentOS 7系统上安装MySQL 5.7是一个常见的任务,尤其对于那些需要与线上项目保持一致开发环境的用户来说,以下是详细的安装步骤和配置指南:
一、获取MySQL 5.7 Community Repository软件包
1、下载MySQL Yum源:
使用wget
命令下载MySQL的Yum源文件。
wget https://dev.mysql.com/get/mysql57communityreleaseel78.noarch.rpm
2、安装Yum源文件:
使用yum localinstall
命令安装下载的Yum源文件。
sudo yum localinstall mysql57communityreleaseel78.noarch.rpm y
安装MySQL服务
1、安装MySQL服务器:
使用yum install
命令安装MySQL服务。
sudo yum install y mysqlcommunityserver
2、解决GPG公钥问题(如有):
如果遇到GPG公钥未安装的问题,导入MySQL软件仓库的GPG公钥。
rpm import https://repo.mysql.com/RPMGPGKEYmysql2022 sudo yum install y mysqlserver
操作MySQL服务
1、启动MySQL服务并设置开机自启动:
使用systemctl
命令启动MySQL服务,并设置为开机自启动。
sudo systemctl start mysqld sudo systemctl enable mysqld sudo systemctl status mysqld
2、查看MySQL进程:
使用ps
命令查看MySQL进程是否正常运行。
ps ef | grep mysql
登录及密码配置
1、查看初始密码:
从日志文件中查找初始密码。
grep 'temporary password' /var/log/mysqld.log
2、登录MySQL并修改密码:
使用初始密码登录MySQL,然后修改密码。
mysql uroot p ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';
注意:MySQL 5.7默认要求密码必须包含大小写字母、数字和特殊符号,长度至少为8位,可以通过以下命令降低密码强度要求:
set global validate_password_policy=LOW; set global validate_password_length=6;
字符集编码配置
1、修改配置文件:
编辑/etc/my.cnf
文件,设置字符集编码为UTF8。
sudo vi /etc/my.cnf
在[client]
和[mysqld]
部分添加或修改以下内容:
[client] defaultcharacterset=utf8 [mysqld] charactersetserver=utf8 collationserver=utf8_general_ci
2、重启MySQL服务:
保存配置文件后,重启MySQL服务以使更改生效。
sudo systemctl restart mysqld
配置远程连接
1、授权远程连接:
登录MySQL,执行以下命令以允许任何主机以指定密码连接到MySQL服务器。
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION; FLUSH PRIVILEGES;
配置防火墙规则
1、开放3306端口:
使用firewallcmd
命令开放TCP端口3306,允许外部网络连接到MySQL服务器。
sudo firewallcmd zone=public addport=3306/tcp permanent sudo firewallcmd reload
测试连接和字符集支持
1、远程连接测试:
使用数据库连接工具(如Navicat)进行远程连接测试,确保连接成功。
2、创建数据库和表:
在远程连接成功后,可以手动创建数据库和表,并测试字符集支持。
相关问答FAQs:
1、Q1: 如何在CentOS 7上检查已安装的MySQL版本?
A1: 要检查已安装的MySQL版本,可以在终端中输入以下命令:
mysql version
这将显示当前安装的MySQL版本信息。
2、Q2: 如果忘记了MySQL的root密码怎么办?
A2: 如果忘记了MySQL的Root密码,可以通过以下步骤重置:
1. 停止MySQL服务:
sudo systemctl stop mysqld
2. 以不检查权限的方式启动MySQL:
sudo mysqld_safe skipgranttables &
3. 登录MySQL并重置密码:
mysql u root FLUSH PRIVILEGES; ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
4. 重新启动MySQL服务:
sudo systemctl start mysqld