Amazon RDS編~大きなデータのインポート(MySQL server has gone awayが発生した時)編~


こんにちは!中の人です。

今回は『Amazon RDS編~大きなデータのインポート(MySQL server has gone awayが発生した時)編~』と題して、RDS(MySQL)に対して大きなテーブルをインポート(リストア)する時に発生する ”MySQL server has gone away” というエラーに対する対処方法を紹介します。

Amazon RDS~MySQL オンプレ⇒AWS移行編~ 』でも既存からのデータ移行にはdump / restoreを行う必要があり、dumpしたデータをリストアしようとする時にこのエラーがよく発生します。

概ね10分程度で行うことが出来ます。

再起動が必要な為、対象のデータベースの大きさにより時間がかかる場合があります。

MySQL server has gone away

何らかの理由によりMySQL側から接続が切られた時に発生するエラーです。
エラーにはいくつか原因があります。

 長時間やりとりが無いコネクション
 クライアントからタイムアウトが通知される
 巨大なクエリを投げた

などなど様々な理由で発生しますが、大きなデータベースをリストアした場合に起きる場合は以下の手順で対処を行うことが出来ます。

全てmanagement consoleで操作します。

1.RDS > Parameter Groups
「Create DB Parameter Group」をクリックし、新しいパラメーターグループを作成します。
※デフォルト以外のパラメーターグループの場合は、作成する必要はありません。
20131112_03_001

2.パラメーターグループ一覧から作成したパラメーターを選択し、「Edit Parameters」をクリックします。
20131112_03_002

3.Parametersの検索窓に「max_allowed_packet」と入力し、ブランクになっている入力フォームに最大値の”1073741824”を入力し、「Save Change」をクリックします。
20131112_03_007

4.RDS > Instances
からリストア先となるRDSを選択し、”instance actions”から「modifiy」をクリックします。
20131112_03_003

5.Modify DB Instanceの画面で、作成したParameter Groupを選択して登録します。
20131112_03_004

6.変更をすると、Parameter Groupが「pening-reboot」となっていることが確認出来ます。
20131112_03_005

7.該当のRDSを再起動します。
20131112_03_008

8.再起動が完了すると、新しいParameter Groupが適用されていますので、リストアが問題なく出来る事が確認できます。

いかがでしたでしょうか?

上記の手順を実施する事により、オンプレ⇒AWS移行で障害が発生した場合(大容量データの移行中にMySQL server has gone awayが発生した場合)でも対処する事が出来ます。

次回は『Amazon EBS~ボリュームサイズを小さくしてみよう。ボリュームサイズダウン編~』と題してEBSのサイズを小さくする方法についてのまとめをしたいと思います。

お楽しみに!

——————————————————————————————————
ナレコムクラウドのFacebookに『いいね!』をクリックして頂くと
最新のお役立ちレシピが配信されます★


┏━━━━━━━━━━━━━┓

┃ナレコムクラウド Facebook┃
┗━━━━━━━━━━━━━┛
——————————————————————————————————