본문 바로가기
MySql

MySQL 덤프에서 DEFINER 절 제거

by 베이스 공부 2020. 9. 20.
반응형

내 데이터베이스 중 하나의 MySQL 덤프가 있습니다. 그 안에는 다음과 같은 DEFINER 절이 있습니다.

"DEFINER=`root`@`localhost`" 

즉, 이러한 DEFINER 절은 내 CREATE VIEW 및 CREATE PROCEDURE 문에 있습니다. 내 덤프 파일에서 이러한 DEFINER 절을 제거하는 방법이 있습니까?

 

해결 방법

 

덤프에 DEFINER 를 추가하는 것을 무시하는 방법이 없다고 생각합니다. 그러나 덤프 파일이 생성 된 후 제거하는 방법이 있습니다.

텍스트 편집기에서 덤프 파일을 열고 DEFINER = root @ localhost 의 모든 항목을 빈 문자열 ""

로 바꿉니다.


perl -p -i.bak -e "s/DEFINER=\`\w.*\`@\`\d[0-3].*[0-3]\`//g" mydatabase.sql


mysqldump ... | sed -e 's/DEFINER[ ]*=[ ]*[^*]*\*/\*/' > triggers_backup.sql

 

참조 페이지 https://stackoverflow.com/questions/9446783

 

 

반응형

댓글