- Access denied; you need (at least one of) the SUPER privilege(s) for this operation
- How to grant super privilege to the user?
gunzip < back.20180423.data.gz | mysql -uusername -p -f datbasename
Enter Password:
ERROR 1227 (42000) at line 279: Access denied; you need (at least one of) the SUPER privilege(s) for this operation
failure cause 원인 파악?
- working server에서 mysqldump를 이용 원격지 db 백업
- 원격백업이 가능하기 위해서는
username@%
권한이 필요함. - 백업된 log 파일에는
DEFINER='username'@'%'
형태로 사용자@호스트 정보가 적용됨 - 이를 원격지 백업 db에 사용할 경우 문제가 없지만, 로컬백업 db에 밀어넣으면
SUPER privilege(s)
에러 발생 username@%
와username@localhost
host권한이 다름.
How to grant super privilege to the user? 에서는 이를 해결하기 위해서 mysql.user.Super_priv
값을 'Y'
로 변경하면 해결되지만 권한남용(?)에 대해서 우려를 표현함.
Solutions 또 다른 대응법은
- 백업 파일에서
DEFINER='username'@'%'
>>>DEFINER='username'@'localhost'
변경후 복원한다. -h
옵션으로 로컬호스트에 연결된 도메인으로 설정하면usename@%
를 사용한다.- db서버에서 mysqldump로 작업후 그 결과물을 백업db 서버에 download받은 후 복원한다.
반응형
'db > mysql' 카테고리의 다른 글
MariaDB 10.0.3 Install For Ubuntu 18.04 (0) | 2018.07.20 |
---|---|
MySQL, MariaDB 10.2.x Upgrade After /home Restart Error (0) | 2018.07.14 |
slow-query select in table (0) | 2018.04.21 |
Access denied; you need (at least one of) the SUPER privilege(s) for this operation (0) | 2018.04.02 |
Centos7 Mariadb datadir change (0) | 2018.03.07 |