解決 MySQL 中的錯誤 1396 (HY000):對“使用者”'@'localhost' 執行操作 DROP USER 失敗?


當您以 localhost 的身份刪除使用者而使用“%”建立使用者時,會發生此錯誤。

讓我們使用“%”建立使用者,並以 localhost 的身份刪除使用者。語法如下

CREATE USER 'yourUserName'@'%' IDENTIFIED BY 'yourPassword';

讓我們使用上述語法建立一個使用者。建立使用者的查詢如下

mysql> CREATE USER 'Jack'@'%' IDENTIFIED BY '1234';
Query OK, 0 rows affected (0.26 sec)

檢查使用者是否已成功建立

mysql> select user,host from MySQL.user;

以下是其輸出

+------------------+-----------+
| user             | host      |
+------------------+-----------+
| Jack             | %         |
| Manish           | %         |
| User2            | %         |
| mysql.infoschema | %         |
| mysql.session    | %         |
| mysql.sys        | %         |
| root             | %         |
| Adam Smith       | localhost |
| User1            | localhost |
| am               | localhost |
+------------------+-----------+
10 rows in set (0.00 sec)

檢視上述示例輸出,我們有一個名為“Jack”的使用者,主機為“%”。每當您嘗試以 localhost 的身份刪除使用者時,您會收到如下所示的錯誤

mysql> DROP USER 'Jack'@'localhost';
ERROR 1396 (HY000): Operation DROP USER failed for 'Jack'@'localhost'

讓我們刪除上述主機為“%”的使用者。查詢如下

mysql> DROP USER 'Jack'@'%';
Query OK, 0 rows affected (0.19 sec)

檢查使用者是否已從 MySQL.user 表中刪除。查詢如下

mysql> select user,host from MySQL.user;

以下是其輸出,顯示使用者 Jack 已成功刪除

+------------------+-----------+
| user             | host      |
+------------------+-----------+
| Manish           | %         |
| User2            | %         |
| mysql.infoschema | %         |
| mysql.session    | %         |
| mysql.sys        | %         |
| root             | %         |
| Adam Smith       | localhost |
| User1            | localhost |
| am               | localhost |
+------------------+-----------+
9 rows in set (0.00 sec)

更新日期: 2019 年 7 月 30 日

3K+ 瀏覽次數

開啟您的職業生涯

完成課程後獲得認證

開始
廣告