상세 컨텐츠

본문 제목

[mysql] ERROR 1054 (42S22): Unknown column 'plugin' in 'mysql.user'

카테고리 없음

by 개발혱 2016. 1. 21. 15:21

본문

기존에 잘 수행되던 user생성에서 무엇인가 이상이 생김. 최근에 root 계정 초기화 한것과 5.1버전대 dump 파일 import 시킨거 둘중 하나가 문제가 된 듯 하다.

mysql> select @@version;

'5.6.27-0ubuntu0.14.04.1'


현재 내가 사용하는 MYSQL 버전은 5.6

mysql> SELECT COUNT(1) column_count FROM information_schema.columns WHERE table_schema='mysql' AND table_name='user';  

43개가 나와야함. 참고 3)


뭐가 뭔지 잘 모르겠지만 현재 mysql.user의 컬럼이 다르기 때문에 이런 오류 생김.

mysql> desc mysql.user;


우선 plugin만 추가해 보자 참고1)

mysql ALTER TABLE mysql.user ADD plugin CHAR(64) NULL AFTER max_user_connections; 

 

여전히 같은 에러메세지가 나옴

하나 해석하자면 Create_tablespce_priv는 Trigger_priv 다음에 지정되있어야 함.

mysql> ALTER TABLE mysql.user ADD Create_tablespace_priv ENUM('N','Y') NOT NULL DEFAULT 'N' AFTER Trigger_priv; 

mysql > ALTER TABLE mysql.user ADD authentication_string TEXT NULL DEFAULT NULL AFTER plugin; 

mysql > ALTER TABLE mysql.user ADD password_expired ENUM('N','Y') NOT NULL DEFAULT 'N' AFTER authentication_string;


해결!! 유저 추가하니 잘 된다~~~


[참고]

1) http://dba.stackexchange.com/questions/103723/error-1054-42s22-unknown-column-plugin-in-mysql-user

2) http://dba.stackexchange.com/questions/16397/cannot-grant-privileges-as-root/16441#16441

3)  http://dba.stackexchange.com/questions/78923/mysql-service-stops-after-trying-to-grant-privileges-to-a-user