解决使用navicat连接远程Mysql出现的 1044 – Access denied for user ‘root @%‘ to database ‘xxx‘

使用navicat连接linux服务器上的mysql后,想去创建新的数据库,但是提示:

1044 - Access denied for user 'root @%' to database 'xxx'

在网上找了一些方法:

第一种方法是使用:

UPDATE mysql.user SET Grant_priv='Y', Super_priv='Y' WHERE User='root';
FLUSH PRIVILEGES;

 第二种方法是使用:

grant all privileges on *.* to 'root'@'%' identified by '密码' with grant option;

第一种方法我尝试了之后没有作用(可能是我操作的原因)。

第二种方法出现了一个问题就是,在Mysql8.0中,使用该命令会提示语法错误。因为在Mysql8.0该授权语法已经过时。

最后找了一些方法后,使用以下命令解决了问题:

CREATE USER 'root'@'%' IDENTIFIED BY '你的密码';

GRANT ALL ON *.* TO 'root'@'%';

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '你的密码';

FLUSH PRIVILEGES; // 刷新权限

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>