Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

오류 1396(HY000) 해결:MySql의 'user'@'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)