我正在尝试从外部访问我的数据库,但它并没有让我使用 root 用户我的服务器是 debian 10,我的数据库是 mysql 8 我试图给它权限,但它给了我以下错误有人知道发生了什么吗???:
mysql> GRANT ALL PRIVILEGES ON * . * TO 'root'@'0.0.0.0';
ERROR 1410 (42000): You are not allowed to create a user with GRANT
我正在尝试从外部访问我的数据库,但它并没有让我使用 root 用户我的服务器是 debian 10,我的数据库是 mysql 8 我试图给它权限,但它给了我以下错误有人知道发生了什么吗???:
mysql> GRANT ALL PRIVILEGES ON * . * TO 'root'@'0.0.0.0';
ERROR 1410 (42000): You are not allowed to create a user with GRANT
了解当前用户拥有哪些权限的最快方法是:
与用户连接
root
并执行以下命令以验证每个现有用户在您的数据库管理器中具有哪些权限:应该返回如下内容:
您可以在哪里验证用户
demo
没有分配权限,尤其是没有权限GRANT
,这是您尝试执行的命令所必需的权限鉴于上述情况,用户无法将权限分配
GRANT
给另一个用户;为此,我们应该做到以下几点:所以我们这样做:
根据其他帐户特征部分中的 MySQL 8 文档,它表明:
可以翻译为:
可选子句
WITH
用于使用户能够向其他用户授予权限。该选项WITH GRANT OPTION
使用户能够授予其他用户该用户在指定权限级别上拥有的任何权限。现在,如果有问题的用户已经拥有权限并且只是想添加用户,
GRANT OPTIONS
那么像这样运行命令:这样您的当前用户就可以
GRANT
向任何其他用户授予权限。如果你
SELECT
像这样再次运行顶部:你会得到这样的东西:
您已经注意到该
GRANT
用户的权限存在,demo
因此您可以将其授予其他用户参考
GRANT
在 MySQL 8 中授予用户我已经可以访问
UPDATE user SET host='%' WHERE user='root';
它通过说root用户可以从任何主机访问来解决