版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_32448349/article/details/82428696
今天centos7安装了mysql8.0过后远程登录数据库报错
1.首先查看防火墙状态
systemctl status firewall.service
防火墙没有运行
2.命令登入服务器mysql
3.执行下面语句添加权限
use mysql;
select host, user, authentication_string, plugin from user;
查看user表的root用户Host字段是localhost,说明root用户只能本地登录,现在把他改成远程登录
GRANT ALL ON *.* TO 'root'@'%';
GRANT ALL ON 表示所有权限,% 表示通配所有 host,可以访问远程。
4.刷新权限
所有操作后,应执行
FLUSH PRIVILEGES;
执行后继续连接发现还是报错
查找问题后发现
MySQL8.0之前的版本密码加密规则:mysql_native_password,
MySQL8.0密码加密规则:caching_sha2_password
不一样
5.修改mysql加密规则
加密规则改了也同样设置密码
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '新的密码';
再试