標籤:mysql 1396
建立使用者的時候報告這個錯誤:
ERROR 1396 (HY000): Operation CREATE USER failed for ‘abc‘@‘localhost‘
原因是mysql中已經有了這個使用者,從mysql.user中直接刪除delete,然後重新整理許可權FLUSH PRIVILEGES,再建使用者就不會有這個問題了。
如果是drop user 的話,mysql內部會自動重新整理一下,那麼再建也不會有這問題了。
舉例說明1——delete刪除:
mysql> create user ‘abc‘@‘localhost‘;
Query OK, 0 rows affected (0.00 sec)
mysql> select user,host from user;
+------+-----------+
| user | host |
+------+-----------+
| root | 127.0.0.1 |
| abc | localhost |
| root | localhost |
+------+-----------+
3 rows in set (0.00 sec)
mysql> delete from user where user=‘abc‘;
Query OK, 1 row affected (0.00 sec)
mysql> select user,host from user;
+------+-----------+
| user | host |
+------+-----------+
| root | 127.0.0.1 |
| root | localhost |
+------+-----------+
2 rows in set (0.00 sec)
再次建立同名使用者,報錯如下:
mysql> create user ‘abc‘@‘localhost‘;
ERROR 1396 (HY000): Operation CREATE USER failed for ‘abc‘@‘localhost‘
這裡要重新整理許可權,重新整理之後就可以建立了;
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> create user ‘abc‘@‘localhost‘;
Query OK, 0 rows affected (0.00 sec)
mysql> select user,host from user;
+------+-----------+
| user | host |
+------+-----------+
| root | 127.0.0.1 |
| abc | localhost |
| root | localhost |
+------+-----------+
3 rows in set (0.00 sec)
舉例說明2——drop 刪除,可以直接建立:
mysql> drop user ‘abc‘@‘localhost‘;
Query OK, 0 rows affected (0.00 sec)
mysql> select user,host from user;
+------+-----------+
| user | host |
+------+-----------+
| root | 127.0.0.1 |
| root | localhost |
+------+-----------+
2 rows in set (0.00 sec)
mysql> create user ‘abc‘@‘loaclhost‘;
Query OK, 0 rows affected (0.00 sec)
本文出自 “模範生的學習部落格” 部落格,請務必保留此出處http://mofansheng.blog.51cto.com/8792265/1980514
Mysql ERROR 1396 (HY000) 錯誤的解決辦法