MySQL8版本grant報錯:ERROR 1410 (42000)


問題簡介:

創建完用戶給用戶賦權的時候報錯:ERROR 1410 (42000): You are not allowed to create a user with GRANT

問題復現

創建備份用戶命令:

use mysql;
CREATE USER backup IDENTIFIED BY 'backup';

緊接着賦權給用戶(限制本地登錄):

GRANT SELECT, RELOAD, SHOW DATABASES, LOCK TABLES ON . TO 'backup'@'127.0.0.1';
出現報錯:ERROR 1410 (42000): You are not allowed to create a user with GRANT

問題原因

在用命令 CREATE USER backup IDENTIFIED BY 'backup';創建完用戶后,用戶默認的權限為'%'

所以想要賦予@'127.0.0.1'給test用戶的解決辦法為:

GRANT SELECT, RELOAD, SHOW DATABASES, LOCK TABLES ON . TO 'test'@'%';
update user set host='127.0.0.1' where user='test';

或者直接在創建用戶的時候指定連接權限,eg:

CREATE USER test@'127.0.0.1' IDENTIFIED BY 'test';
GRANT SELECT, RELOAD, SHOW DATABASES, LOCK TABLES on . to 'test'@'127.0.0.1' ;
flush privileges;

MySQL8.0完整創建用戶命令

use mysql;
CREATE USER admin IDENTIFIED BY 'admin';
GRANT ALL PRIVILEGES ON *.* TO 'admin'@'%' with grant option;
use mysql;
CREATE USER test@'127.0.0.1' IDENTIFIED BY 'test';
grant select, insert, update, delete,CREATE,DROP,REFERENCES,ALTER,INDEX,LOCK TABLES   on  *.* to 'test'@'127.0.0.1' ;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM