MySQL 5.5/innoDB(ubuntu経由)のM/Sレプリケーションを実行しています。
私のDBはかなり大きいです:〜250GB。
以下を実行するバックアップツール/サービスを探しています。
助言がありますか?
オプションの1つは、本番DBに影響を与えずに停止/ロックできるバックアップ専用のスレーブMySQLサーバーを追加することです。
Mysqldumpを使用するだけで、興味深いバックアップスキームを実行できます。
2011年4月17日に、並列mysqldumpの自動化スクリプトに関する投稿を書きました:参照してください 大規模データベースのmysqldumpを最適化するにはどうすればよいですか?
その投稿では、XtraBackupを含む代替案についても触れました。
250Gデータベースでは、1つのテーブルが200Gの場合、私のソリューションは不十分な場合があります。
このクエリを実行して、5つの最大のテーブルを見つけてください
SELECT table_schema,table_name,data_length,index_length
FROM information_schema.tables ORDER BY data_length DESC LIMIT 5;
あなたのペーストビンに基づいて、ここに5つの最大のテーブルがあります
mysql> select num,format(num/power(1024,3),2) num_gb
-> from (
-> select 18455986176 num union
-> select 15031681024 union
-> select 14825160704 union
-> select 10196353024 union
-> select 9934143488
-> ) A;
+-------------+--------+
| num | num_gb |
+-------------+--------+
| 18455986176 | 17.19 |
| 15031681024 | 14.00 |
| 14825160704 | 13.81 |
| 10196353024 | 9.50 |
| 9934143488 | 9.25 |
+-------------+--------+
5 rows in set (0.02 sec)
mysql>
Mysqldumpセットをスレーブでのみ並行して使用することができます:参照してください 大規模データベースのmysqldumpを最適化するにはどうすればよいですか?
基本的なパラダイムは、スレーブでこのシーケンスを実行することです。
STOP SLAVE;
START SLAVE;
別のオプションは、ホストされたデータベースサービスであるAmazon RDSにデータベースをアップロードすることです。 RDSインスタンスで大容量のディスクストレージを取得するオプションがあります。
Amazon RDSは、DBインスタンスクラスごとに、5 GBから1までを選択する機能を提供しますTBプライマリデータセットの関連ストレージ容量。
つまり、250GBをハードディスクに入れて、重要なものだけをメモリ内で実行することができます。その後、Amazonがバックアップ、高可用性、フェイルオーバーを処理します。コストがかかる可能性がありますが、mysqldumpの自動化などの作業を節約できます。