반응형
내 데이터베이스 중 하나의 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
반응형
'MySql' 카테고리의 다른 글
MySQL Sort By 2 Columns (0) | 2020.09.20 |
---|---|
MySQL SQLiteDatabase-where 절을 사용하는 방법? (0) | 2020.09.20 |
MySQL PHP select the biggest `id` value from MySQL table (0) | 2020.09.19 |
MySQL shuffle random MYSQL results (0) | 2020.09.19 |
MySQL 두 테이블에서 선택하는 MySQL (0) | 2020.09.19 |
댓글