Error 1396 เกิดเมื่อพยายาม DROP USER 'user'@'localhost' แต่ User ถูกสร้างด้วย Host '%' (Wildcard ทุก Host)
สาเหตุและแก้ไข
สร้าง User ด้วย '%':
mysql> CREATE USER 'Jack'@'%' IDENTIFIED BY '1234';
พยายาม Drop ด้วย localhost → Error:
mysql> DROP USER 'Jack'@'localhost';
ERROR 1396 (HY000): Operation DROP USER failed for 'Jack'@'localhost'
วิธีแก้: Drop ด้วย Host เดิมที่สร้าง
mysql> DROP USER 'Jack'@'%'; -- สำเร็จ
ตรวจสอบ User ใน mysql.user:
mysql> SELECT user, host FROM mysql.user;
หลักการ: User ใน MySQL ถูกระบุโดยคู่ user@host ต้อง Drop ด้วย Host เดิมที่ CREATE ไว้