使用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; // 刷新权限