SQLyog直接连接报错:
解决步骤:
一、测试网络
windows cmd上ping linux ip地址查看是否能ping通
二、关闭MySQL防火墙
# systemctl stop firewalld
(开启Linux启动后自动关闭防火墙)
# systemctl disable firewalld
三、修改MySQL中root权限
先进入MySQL
# mysql -uroot -p密码
切换到'mysql'数据库
mysql> use mysql;
查看root权限,
mysql> select host,user from user;
此时root仅允许本地连接
更改权限并刷新:
mysql> update user set host='%' where user = 'root';
mysql> flush privileges;
四、再次测试连接
发现还是无法连接并出现了新的问题
此问题是MySQL 8.0 独有的,原因是MySQL8.0对用户登录加密的格式发生了变化
解决方案:
Linux下登录MySQL后输入
mysql> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '密码';
执行后再次测试登录:
登录成功!