AWS RDSでmysql5.6を使用しています。
アクセスログを月ごとにバックアップしようとしております。
bash
1 2# $conditionに月の範囲指定をしています。 3mysqldump --defaults-extra-file=./my.conf $table --where "$condition" | gzip > $filename
ダンプを行い圧縮をして、そのファイルを別サーバにアップロードしてその後
bash
1# 先ほどの月範囲指定を引き継いでいます。 2mysql --defaults-extra-file=./my.conf $table <<EOS 3begin; 4use dbname; 5DELETE FROM $table WHERE $condition; 6commit; 7EOS
先ほどの条件の月を削除しています。
データ量とスペックにもよりますが、現在この工程で、ダンプに5分、アップロード30秒、deleteに5分で合計約10分程時間を要しており、その間max_connectionsに達してしまいDBへの書き込みが出来ない状況になっています。
このような場合、どのようにするのがベストなのでしょうか?
素人考えですが、ダンプ自体はスナップショットに退避したものから取得すれば良いと思ったのですが、deleteはそういう訳にいかず、スペックを上げるしかないのかなと思っているところです。
不勉強で恐れ入りますが、ご教授ください。
よろしくお願い致します。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。