집 >데이터 베이스 >MySQL 튜토리얼 >다음은 제공된 기사를 기반으로 한 몇 가지 제목이며 질문 답변 스타일 형식입니다. 옵션 1(직접 및 집중): * MySQL 덤프에서 DEFINER 절을 제거하는 방법은 무엇입니까? 옵션 2(더 구체적):
MySQL 덤프에서 DEFINER 절 제거
MySQL 덤프에는 데이터베이스 객체를 생성한 사용자와 호스트를 지정하는 DEFINER 절이 포함되어 있습니다. 그러나 보안이나 기타 이유로 이러한 절을 제거해야 할 수도 있습니다.
텍스트 편집을 사용하여 DEFINER 절 제거
한 가지 방법은 다음을 사용하여 덤프 파일을 수동으로 편집하는 것입니다. 텍스트 편집기. DEFINER 절(예: "DEFINER=root@localhost")이 포함된 줄을 검색하고 이를 빈 문자열("") 또는 원하는 값으로 바꿉니다.
Perl을 사용하여 DEFINER 절 제거
Perl을 사용하여 덤프에서 해당 조항을 제거할 수 있습니다. 다음 명령을 사용하여 "mydatabase.sql"을 덤프 파일 이름으로 바꿉니다.
perl -p -i.bak -e "s/DEFINER=\`\w.*\`@\`\d[0-3].*[0-3]\`//g" mydatabase.sql
출력을 파이핑하여 DEFINER 절 제거
절을 제거할 수도 있습니다. sed:
mysqldump ... | sed -e 's/DEFINER[ ]*=[ ]*[^*]*\*/\*/' > triggers_backup.sql
와 같은 명령을 통해 덤프 출력을 파이핑하여 이 명령은 DEFINER 절을 별표(*)로 바꿉니다. 필요에 따라 교체 패턴을 추가로 사용자 정의할 수 있습니다.
참고:
위 내용은 다음은 제공된 기사를 기반으로 한 몇 가지 제목이며 질문 답변 스타일 형식입니다. 옵션 1(직접 및 집중): * MySQL 덤프에서 DEFINER 절을 제거하는 방법은 무엇입니까? 옵션 2(더 구체적):의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!