提问者:小点点

如何在MySQL8.0中授予root用户所有权限


已试过

mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;

获取

错误1064(42000):您的SQL语法中有错误;查看与您的MySQL服务器版本相对应的手册,了解第1行“标识由'root'WITH GRANT option”附近使用的正确语法。

注意:在以前的版本中尝试时同样有效。

也试过

mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;

获取

错误1410(42000):不允许创建具有授权的用户

MySQL(8.0.11.0)用户名/密码是root/root。


共1个答案

匿名用户

从MySQL8开始,您不再可以(隐式)使用grant命令创建用户。改用CREATE USER,后跟GRANT语句:

mysql> CREATE USER 'root'@'%' IDENTIFIED BY 'root';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;

有关with GRANT option的安全风险的注意事项,请参阅:

  • 授予数据库的所有权限