ERROR 1227 (42000): Access denied; you need (at least one of) the SUPER privilege(s) for this operation
개요
특정의 로그를 임베드해 추출해 SQL화해 적당한 DB와 테이블 만들어 SQL 흘려 쿼리로 해석할 수 있도록 대응을 진행하고 있었는데, 대량의 로그&sql파일 1개 수백MB라고 하는 결과가 되어, 로컬에서는 대응 엄격하기 때문에 RDS에 대응하고 있었는데 여러가지 빠진 정리입니다.
환경
문제
조사하면서 다음과 같이 작업을 진행하고 있었는데, 타이틀의 에러로 빠져 더욱 조사하면 AWS 콘솔상에서 작업하면 좋다고 알았다.
$ mysql dev_analysis -h staging.xxxxxxxxxxxxxx.ap-northeast-1.rds.amazonaws.com -P 33066 -u gremito -p < ~/sqls/xxxxxxxxxx.sql
Enter password:
ERROR 2006 (HY000) at line 24: MySQL server has gone away
$ mysql -h staging.xxxxxxxxxxxxxx.ap-northeast-1.rds.amazonaws.com -P 33066 -u gremito -p
mysql> show variables;
(略)
| max_allowed_packet | 4194304
(略)
mysql> set global max_allowed_packet = 512000;
ERROR 1227 (42000): Access denied; you need (at least one of) the SUPER privilege(s) for this operation
mysql> show grants;
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Grants for gremito@% |
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, PROCESS, REFERENCES, INDEX, ALTER, SHOW DATABASES, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, CREATE USER, EVENT, TRIGGER ON *.* TO 'bananaore'@'%' IDENTIFIED BY PASSWORD <secret> WITH GRANT OPTION |
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.01 sec)
했던 일
매개 변수 그룹에서
max_allowed_packet
의 값을 변경하면 오류가 발생합니다. 원인은 기본값을 변경할 수 없으며 기본값에서 복사본을 만들 수도 없기 때문에 새로 매개 변수 그룹을 만들고 max_allowed_packet
값을 변경 & 저장.파라미터 그룹의 변경은, 데이터베이스를 기동하고 있지 않으면 변경할 수 없는 것 같고, 변경 후에는 재기동이 필요.
재부팅 후
max_allowed_packet
의 값이 변경되었는지 확인합니다.mysql> show variables;
(略)
| max_allowed_packet | 512000
(略)
참고 기사
Reference
이 문제에 관하여(ERROR 1227 (42000): Access denied; you need (at least one of) the SUPER privilege(s) for this operation), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/gremito/items/5f7ee3377194312c7c81텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)