问题背景
在Linux上安装上Mysql后,执行以下代码开启远程登录:
GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "你的密码" WITH GRANT OPTION;
系统提示:
解决方法
这是由于安装的Mysql版本过高的问题引起的,这种方法在Mysql8.0以后就已经不适用了,故我们需要执行以下的sql语句:
CREATE USER 'root'@'%' IDENTIFIED BY '你的密码';
GRANT ALL ON *.* TO 'root'@'%';
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '你的密码';
如果第一句sql报错,可以试一下先
drop user 'root'@'%';
执行完毕后再刷新权限:
flush privileges;
最后使用工具连接虚拟机的Mysql,连接成功。