-
mysqldump 파일에서 definer 모두 제거하기ETC 2017. 5. 12. 13:03
1. 개요
mysqldump로 dump하여, 새로운 디비에 덮을경우
디비내에 view 가 존재하면 권한오류가 발생 하는 경우가 있다.
(이는 해당 계정이 all privileges 권한을 가지고 있을때도 발생한다.)
이는 view생성시 지정한 definer가 새로운 디비 접속 계정과 다르기 때문이다.
이에 따라서, dump 파일에서 definer를 제거해주면 해결 할 수 있다.
2. 해결 방법
Linux 에서
sed -i 's/DEFINER=[^*]*\*/\*/g' dump.sql
MacOS 에서
sed -i '' 's/DEFINER=[^*]*\*/\*/g' dump.sql
(dump.sql을 *.sql로 해주면 해당 디렉토리 내의 포든 sql파일에 적용 가능하다.)
'ETC' 카테고리의 다른 글
mysql 특정 단어를 포함하는 테이블명 조회 (0) 2018.07.11 이더리움 에어드랍으로 받은 XENON(XNN) 코인 매도 방법 (0) 2018.06.16 리눅스 pkill과 동일한 리눅스 명령 (0) 2016.11.14 git 일부 디렉토리만 clone 받기 (sparse checkout) (1) 2016.10.14 Android 인앱 결제 PHP 영수증 체크 (2016년 8월 기준) (1) 2016.08.31