mysqldumpの指定テーブルのスキップ
1627 ワード
title:mysqldumpの指定テーブルtagsのスキップ: mysql mysqldump ignore-table バックアップcategories:mysql date:2017-07-25 18:53 背景
mysqldumpはバックアップ指定ライブラリをサポートしていますが、dbに他のバックアップを行うことができますか? バックアップ指定プレフィックスを無視するテーブル は比較的簡単で、 を省略しています. mysqldumpは、ignore-tableをサポートしていますが、ワイルドカードはサポートされていません.mysqldumpのコマンドを生成することで完了できます.指定した名前についてはshow tablesで実現できます.したがって、以下の
背景
現在、システムでは、期首データ期末データなどのデータ検証のためにビジネスデータをバックアップしているため、バックアップテーブルが大量に発生しています.バックアップ・フォーム・テーブルのデータは、ビジネスの増加に伴って増加し続けます.夜間のバックアップデータが長すぎます.
もとの方法 ./mysqldump -uroot -proot --skip-lock-tables --databases f6dms_1116_prod_backup| gzip > /home/opt/database_`date '+%m-%d-%Y'`.sql.gz;
これにより、バックアップ時間が長くなり、ファイルが大きすぎる(時間が経つにつれてテーブルが大きくなり、テーブルが多くなる)
現在jenkinsリモートssh呼び出しスクリプトを使用してmysqldumpをリモートでバックアップしています.
私の考え
./mysqldump -uroot -proot --skip-lock-tables --databases f6dms_1116_prod_backup| gzip > /home/opt/database_`date '+%m-%d-%Y'`.sql.gz;
これにより、バックアップ時間が長くなり、ファイルが大きすぎる(時間が経つにつれてテーブルが大きくなり、テーブルが多くなる)
現在jenkinsリモートssh呼び出しスクリプトを使用してmysqldumpをリモートでバックアップしています.
私の考え
解決策
./mysqldump -uroot -proot --skip-lock-tables --databases f6dms_1116_prod_backup $(mysql -uroot -proot -Df6dms_1116_prod_backup -Bse "show tables like 'tm_monitor_avg_price_%'"|awk '{print "--ignore-table=f6dms_1116_prod_backup."$1}'|xargs)| gzip > /home/opt/database_`date '+%m-%d-%Y'`.sql.gz;
db