Contents
MariaDB - ERROR 1396 (HY000) 에러
   Aug 8, 2022     1 min read

MariaDB ERROR 1396 (HY000) 에러

ERROR 1396 (HY000) : **Operation CREATE USER failed for ‘userID’@’localhost’**

똑같은 이름으로 계정을 만든적이 있다.

 create user 'USERID'@'%' identified by 'cos1234';

@ 뒤에 ‘%’는 사용자 계정이 모든 호스트 위치에서 연결할 수 있도록 하는 와일드 카드이다.

DELETE로 계정을 삭제했다.

delete from user where user = 'USERID';

DELETE와 DROP의 차이

DELETE(DML)

  • 데이터는 지워지지않지만 테이블 용량은 줄어 들지 않는다.
  • 원하는 데이터만 지울 수 있다.
  • 삭제 후 잘못 삭제한 것을 되돌릴 수 있다. (Commit 이전에 Rollback 가능)

Untitled

DROP

  • 데이터 전체를 삭제, 공간, 객체를 삭제한다.
  • 삭제 후 절대 되돌릴 수 없다.

Untitled 1

번외

TRUNCATE

  • 용량이 줄어든다.
  • 인덱스 등 모두 삭제
  • 테이블은 삭제하지 않고, 데이터만 삭제한다.
  • 삭제 후 되돌릴 수 없다.

Untitled 2

처음에 이것때문에 계정을 삭제 했을 때 데이터가 남아있는건가 ?? 그래서 ERROR 1396가 뜨는건가 ? 생각했다.

찾아 보다가 이런 문구를 찾았다.

FLUSH PRIVILEGES;

Mysql, mariadb 같은 경우 명령어를 쓰고 FLUSH PRIVILEGES;를 써야한다고 한다.

특히나 grant 테이블을 reload 함으로 변경사항을 바로 적용해주는 명령어라고 한다. 이것을 DROP을 하고 이것을 해주고 하니깐 에러가 안뜬다.

해결완료 … 눈물 왈칵…

giphy