Centos7 yum安装mysql8.0 修改密码,配置远程连接,修改caching-sha2-password加密 为mysql_native_password

1.配置MySql yum源
MySql 官网8.0 yum地址 https://dev.mysql.com/downloads/repo/yum/

Centos7 yum安装mysql8.0 修改密码,配置远程连接,修改caching-sha2-password加密 为mysql_native_password_第1张图片

Centos7 yum安装mysql8.0 修改密码,配置远程连接,修改caching-sha2-password加密 为mysql_native_password_第2张图片

下载mysql源安装包
安装mysql源

wget https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm
yum localinstall mysql80-community-release-el7-1.noarch.rpm 

检查mysql源是否安装成功

yum repolist enabled | grep 'mysql.*-community.*'

这里写图片描述
2、安装MySQL

yum install mysql-community-server

3、启动MySQL服务

systemctl start mysqld

查看MySQL的启动状态

systemctl status mysqld

Centos7 yum安装mysql8.0 修改密码,配置远程连接,修改caching-sha2-password加密 为mysql_native_password_第3张图片

4、开机启动,查询临时密码

systemctl enable mysqld
systemctl daemon-reload

grep 'temporary password' /var/log/mysqld.log

这里写图片描述

5、修改密码策略,修改密码
Mysql 8.0 默认采用 caching-sha2-password加密,目前好多 客户端不支持
改为 mysql_native_password
将 前面的注释打开
Centos7 yum安装mysql8.0 修改密码,配置远程连接,修改caching-sha2-password加密 为mysql_native_password_第4张图片

 mysql -u root -p
 ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';

注意:mysql8.0默认安装了密码安全检查插件(validate_password),默认密码检查策略要求密码必须包含:大小写字母、数字和特殊符号,并且长度不能少于8位。否则会提示ERROR 1819 (HY000): Your password does not satisfy the current policy requirements错误,如下图所示:

ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

6、配置远程连接

进入mysql,创建远程连接用户user1(不建议使用root),授权给user1

use mysql;

CREATE USER 'user1'@'%' IDENTIFIED BY 'MyNewPass4!'; 

grant all on *.* to 'user1'@'%';

PS:
修改密码策略
在/etc/my.cnf文件添加validate_password_policy配置,指定密码策略

选择0(LOW),1(MEDIUM),2(STRONG)其中一种,选择2需要提供密码字典文件
validate_password_policy=0
如果不需要密码策略,添加my.cnf文件中添加如下配置禁用即可:

validate_password = off

重新启动mysql服务使配置生效:

systemctl restart mysqld

修改已有用户caching-sha2-password加密,为mysql_native_password

#修改加密规则 
ALTER USER ''@'localhost' IDENTIFIED WITH mysql_native_password BY 'password'; 
#更新一下用户的密码 
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password'; 
#刷新权限 
FLUSH PRIVILEGES; 

你可能感兴趣的:(mysql)