Lỗi này xảy ra khi bạn bỏ một người dùng với localhost trong khi bạn đã tạo một người dùng với ‘%’.
Hãy để chúng tôi tạo người dùng với ‘%’ và chuyển người dùng đó làm máy chủ cục bộ. Cú pháp như sau
CREATE USER 'yourUserName'@'%' IDENTIFIED BY 'yourPassword';
Hãy để chúng tôi tạo một người dùng bằng cú pháp trên. Truy vấn để tạo người dùng như sau
mysql> CREATE USER 'Jack'@'%' IDENTIFIED BY '1234'; Query OK, 0 rows affected (0.26 sec)
Kiểm tra người dùng đã được tạo thành công hay chưa
mysql> select user,host from MySQL.user;
Sau đây là kết quả
+------------------+-----------+ | 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)
Nhìn vào kết quả đầu ra mẫu ở trên, chúng ta có một người dùng với tên là ‘Jack’ và máy chủ lưu trữ là ‘%’. Bất cứ khi nào bạn cố gắng loại bỏ người dùng với localhost thì bạn sẽ gặp lỗi như sau
mysql> DROP USER 'Jack'@'localhost'; ERROR 1396 (HY000): Operation DROP USER failed for 'Jack'@'localhost'
Hãy để chúng tôi loại bỏ người dùng ở trên với máy chủ lưu trữ ‘%’. Truy vấn như sau
mysql> DROP USER 'Jack'@'%'; Query OK, 0 rows affected (0.19 sec)
Kiểm tra xem người dùng có bị loại bỏ khỏi bảng MySQL.user hay không. Truy vấn như sau
mysql> select user,host from MySQL.user;
Sau đây là kết quả hiển thị rằng Jack người dùng đã được gỡ bỏ thành công
+------------------+-----------+ | 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)