次のエディターは、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 ライブラリを除く他のすべてのライブラリをエクスポートするには、データベースを 1 つずつ指定するしかありませんか?
解決策:
# 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 を実行すると、次の が追加されました。エラーメッセージが報告されます:
mysqldump: Got error: 1142: SELECT,LOCK TABL command denied to user ‘root'@'localhost' for table ‘cond_instances' when using LOCK TABLES
mysqldump にパラメーター –skip-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 中国語 Web サイトの他の関連記事を参照してください。