«   2018/10   »
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31      
Archives
Today
684
Total
1,165,492
안정적인 DNS서비스 DNSEver
관리 메뉴

Blue Breeze

Access denied; you need (at least one of) the SUPER privilege(s) for this operation 본문

DB&NoSQL/MySQL\MariaDB

Access denied; you need (at least one of) the SUPER privilege(s) for this operation

푸른바람 C/H 2018.04.02 13:59

RDS 인스턴스를 생성시 Master Username 을 개별 사용자(root 가 아닌)로 생성하면 백업파일중 SET DEIFNER=`root`부분에서 에러가 발생한다.

gunzip < backup.sql.gz | mysql -uusername -p databasename
ERROR 1227 (42000) at line 271: Access denied; you need (at least one of) the SUPER privilege(s) for this operation
# SUPER 권한이 필요하다.

sed 's/\sDEFINER=`[^`]*`@`[^`]*`//g' -i backup.sql
# DEFINER=.. 문을 제거하거나 CURRENT_USER 문 값을 바꿔라.

# 혹은 동일안 사용자 이더라도 호스트에 따라서 같은 문제가 발생할 수 있다.
#271 /*!50003 CREATE*/ /*!50017 DEFINER=`uasername`@`%`*/ /*!50003 TRIGGER `databasename`.`tablename_changeslog` AFTER UPDATE O        N `tablename` FOR EACH ROW
#271 /*!50003 CREATE*/ /*!50017 DEFINER=`uasername`@`localhost`*/ /*!50003 TRIGGER `databasename`.`tablename_changeslog` AFTER UPDATE O        N `tablename` FOR EACH ROW
# username@% > username@localhost 로 변경해서 문제 해결
# 백업서버에서 원격지 마스터 DB서버의 자료를 백업해서 백업서버의 DB에 이전(mig)시 발생할 수 있다.

# sql 파일을 수정할 수 없거나 수정하기 싫다면 username@% 가 동작할 수 있도록 -h옵션으로 이전한다.
gunzip < backup.sql.gz | mysql -hdev.domain.com -uusername -p databasename

gunzip < backup.sql.gz | mysql -uroot -p databasename
# 전체 권한이 있는 root로 하면 정상동작한다.

# 이래저래 복원시 에러가 걸리다면 -f 옵션(force) 으로 에러가 나는 부분은 무시하고 계속 진행한다.
gunzip < backup.sql.gz | mysql -uusername -p -f databasename


0 Comments
댓글쓰기 폼