Mysql

GRANT 命令在 MySQL 8.0.25 上不起作用

  • June 20, 2021

我正在嘗試在數據庫中授予使用者權限,但收到錯誤消息

#1410 - You are not allowed to create a user with GRANT

我正在執行以下操作:

GRANT ALL PRIVILEGES ON  `database`.* TO 'user'@'localhost';

使用者已經創建,但我不能授予它權限。

下面是我嘗試編輯的使用者範例。 使用者參考

使用者身份驗證設置衝突導致使用者無法正確註冊。刪除所有受影響的使用者並重新創建。

MySQL 5.7的文件指出:

自 MySQL 5.7.6 起,不推薦使用 GRANT 來定義帳戶身份驗證特徵。相反,使用 CREATE USER 或 ALTER USER 建立或更改身份驗證特徵。此 GRANT 功能將在未來的 MySQL 版本中刪除。

相反您需要CREATE USER``GRANT

CREATE USER 'user'@'localhost' IDENTIFIED WITH mysql_native_password BY 'superSecretPassword!123';
GRANT ALL ON `database`.* TO 'user'@'localhost';

引用自:https://dba.stackexchange.com/questions/294501