CentOS7.9安装mysql5.7在linux上安装mysql5.7时,遇到了很多问题,网上好多资料都不全,有的还是错误的,所以自己记录下正确的安装步骤以及注意事项
- 一.安装MySQL
- 1.下载MySQL官方的Yum Repository
- 2.安装Yum Repository
- 3.在线安装MySQL
- 4.卸载Yum Repository
- 二.配置MySQL
- 1. 查看MySQL状态
- 2.启动MySQL
- 3. 登录MySQL
- 4.修改root密码
- 5.开启MySQL远程访问
- 6.在防火墙中添加3306端口
- 7.修改配置文件
- 8.远程连接MySQL
一.安装MySQL 1.下载MySQL官方的Yum Repository
wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm2.安装Yum Repository
yum -y install mysql57-community-release-el7-10.noarch.rpm3.在线安装MySQL
yum -y install mysql-community-server
在执行这条命令时,报了如下的错误
原因是Mysql的GPG升级了,需要重新获取
使用下面的命令即可
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
然后重新执行安装命令即可
yum -y install mysql-community-server4.卸载Yum Repository
由于每次 yum 操作都会自动更新,需要把这个卸载掉
yum -y remove mysql57-community-release-el7-10.noarch
到此为止,MySQL使用yum安装工作就告一段落了,
二.配置MySQL 1. 查看MySQL状态
systemctl status mysqld.service2.启动MySQL
systemctl start mysqld.service3. 登录MySQL
此时MySQL已经开始正常运行,不过想要登录MySQL还得先找出此时root用户的密码
grep "password" /var/log/mysqld.log
初始密码:1S?h=:OZb
mysql -u root –p5.开启MySQL远程访问
执行以下命令开启远程访问限制(注意:下面命令开启的是%代表所有用户,如要开启某一个IP,用IP代替%
grant all privileges on *.* to 'root'@'%' identified by 'MySQL%57' with grant option;
这里包了一个错,错误代码是1819
错误原因:MySQL对设置密码进行了默认的限制,这是因为密码过于简单导致的(推荐:密码设置包含大小写字母、数字和特殊字符)
解决办法:进入MySQL(前提是validate_password插件必须已经安装,从5.7版本开始默认安装)
步骤一:修改validate_password_policy参数的值
set global validate_password_policy=0; #policy = 0,仅限制密码的长度
步骤二:查看默认密码的长度
select @@validate_password_length;
步骤三:修改默认密码的长度(这里修改为4)
set global validate_password_length=4;
步骤四:再次查看密码长度
然后重新执行远程访问的命令
grant all privileges on *.* to 'root'@'%' identified by 'MySQL%57' with grant option;6.在防火墙中添加3306端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
我的防火墙是关的,所以这一步省略
7.修改配置文件登录MySQL
mysql -u root -p //输入自己设置的密码
输入status,发现服务器的字符编码是latin1
需要在MySQL的配置文件my.cnf中将字符编码修改为utf8
使用vim打开my.cnf文件,新增以下四行代码
[client] default-character-set=utf8 character-set-server=utf8 collation-server=utf8_general_ci
保存my.cnf后,重启MySQL,再次查看status
阿里云ECS服务器需要添加安全组规则,开启3306端口才可以远程连接MySQL
使用Navicat测试,连接成功



