다음 편집기는 mysqldump로 데이터베이스를 백업할 때 특정 라이브러리를 제외하는 예를 보여줍니다. 편집자님이 꽤 좋다고 생각하셔서 지금 공유하고 모두에게 참고용으로 드리고자 합니다.
참고:
mysqldump –all-databases를 사용하면 모든 라이브러리가 내보내집니다. 그러나 우리가 마스터-슬레이브이고 마스터 라이브러리에서 데이터를 덤프하는 경우 information_schema 및 mysql 라이브러리가 필요하거나 필요하지 않습니다. 데이터베이스가 적다면 /usr/local/mysql/bin/mysqldump -uroot -p --databases db1 db2 > 를 통해 내보낼 수도 있지만 데이터가 많으면 매우 번거로울 것입니다. 이렇게 지정합니다.
mysql은ignore-table을 지원하지만,ignore-database가 없기 때문에 information_schema와 mysql 라이브러리를 제외한 다른 모든 라이브러리를 내보내려면 데이터베이스를 하나씩만 지정할 수 있나요?
해결책:
# mysql -e "show databases;" -uroot -p| grep -Ev "Database|information_schema|mysql|test" | xargs mysqldump -uroot -p --databases > mysql_dump.sql
부록:
부록 1:
mysqldump: Got error: 1142: SELECT,LOCK TABL command denied to user ‘root'@'localhost' for table ‘cond_instances' when using LOCK TABLES
는 mysql5.5에performance_schema를 추가했습니다. mysqldump를 수행하면 다음 오류 메시지가 보고됩니다.
mysqldump: Got error: 1142: SELECT,LOCK TABL command denied to user ‘root'@'localhost' for table ‘cond_instances' when using LOCK TABLES
추가할 수 있습니다.
# mysqldump -uroot -p --skip-lock-tables performance_schema > performance_schema.sql 或者过滤掉performance_schema这个库 # mysql -e "show databases;" -uroot -p| grep -Ev "Database|information_schema|mysql|test|performance_schema" | xargs mysqldump -uroot -p --databases > mysql_dump.sql
위 내용은 mysqldump로 데이터베이스 백업 시 특정 라이브러리를 제외하는 샘플 코드 상세 분석의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!