mysql ERROR 1396 (HY000): Operation CREATE USER failed 解決辦法
阿新 • • 發佈:2022-05-25
原因:MySQL賬戶表中已經存在這個要建立的使用者
操作分析:
當建立新使用者時會提示這個新使用者建立失敗,但是當解決建立失敗的問題後再次重新建立這個新使用者,則會報這個錯誤
# 建立新使用者,提示root使用者沒有SYSTEM_USER許可權,建立失敗 mysql> create user 'proxysql'@'192.168.20.%' identified with mysql_native_password by 'iD!^^EjU#Yxr5$p'; ERROR 1227 (42000): Access denied; you need (at least one of) the SYSTEM_USER privilege(s) for this operation # 解決root使用者沒有SYSTEM_USER許可權的問題 mysql> grant system_user on *.* to 'root'; Query OK, 0 rows affected (0.00 sec) # 再次建立該使用者提示報錯 mysql> create user 'proxysql'@'192.168.20.%' identified with mysql_native_password by 'iD!^^EjU#Yxr5$p'; ERROR 1396 (HY000): Operation CREATE USER failed for 'proxysql'@'192.168.20.%' # 實際情況是在第一次建立時,雖然提示root使用者沒有SYSTEM_USER許可權,但是mysql.user表中已經有這個使用者了 # 解決辦法,刪除這個使用者資訊,然後重新建立即可 mysql> drop user 'proxysql'@'192.168.20.%' mysql> delete from mysql.user where user = 'proxysql'@'192.168.20.%'; mysql> delete from mysql.db where user = 'proxysql'@'192.168.20.%'; mysql> flush privileges; mysql> create user 'proxysql'@'192.168.20.%' identified with mysql_native_password by 'iD!^^EjU#Yxr5$p'; Query OK, 0 rows affected (0.00 sec) mysql> GRANT USAGE,process,replication slave,replication client ON *.* TO 'proxysql'@'192.168.20.%' with grant option; Query OK, 0 rows affected (0.00 sec) mysql> flush privileges; Query OK, 0 rows affected (0.01 sec)