mysql - MySQL 8.0中如何授予root用户所有权限

标签 mysql mysql-error-1064 mysql-8.0

尝试过

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

获取

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IDENTIFIED BY 'root' WITH GRANT OPTION' at line 1.

注意:在以前的版本中尝试时也是如此。

也尝试过

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

获取

ERROR 1410 (42000): You are not allowed to create a user with GRANT

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

最佳答案

从 MySQL 8 开始,您不再可以使用 GRANT 命令(隐式)创建用户。使用CREATE USER相反,后跟 GRANT声明:

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

注意有关WITH GRANT OPTION的安全风险,请参阅:

关于mysql - MySQL 8.0中如何授予root用户所有权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58279164/

相关文章:

mysql - 启用 “use gRPC for file sharing”后,macos上的Docker 2.4无法正确安装卷

mysql - 从 MySql 查询某些值的 WordPress 简码

MySQL 比较行并获取更改

java - 如何解决错误 SQL 异常抛出 : java. sql.SQLException: ResultSet 关闭后不允许操作

MySQL 错误代码 : 1064 Stored Procedure Syntax Error near END END

sql - MySQL 子查询在 MySQL 4.0 上失败并出现无效语法错误

mysql - 如何使用 MySQL 8 在 JSON 数组上创建索引

mysql - 如何使用时间戳排序从时间戳中获取带有月份和年份的唯一记录

mysql-proxy 结果字段操作

PHP wamp 服务器错误