LoginSignup
1
0

More than 5 years have passed since last update.

【ハンズオン】MySQL5.0からMySQL5.7にデータベースを移行する

Last updated at Posted at 2018-08-01

はじめに

移行元のMySQL5.0データベースのダンプをとって、移行先のMySQL5.7にインポートします。
前回までのサーバ移行計画のエントリはこちら

移行元サーバでのDBエクスポート

ここでは「SIPDB」という名前のDBをエクスポートします。

# mysqldump -u root -p SIPDB > SIPDB.dump

パスワードを入力すると作業ディレクトリにSIPDB.dumpが作られました。
ログテーブルは約100万レコードあるのですがサイズは46MBほどです(意外と小さい)
中身を見るとCREATE TABLEしてデータの中身をINSERTするSQLが書かれています。

移行先サーバでのDBインポート

WinSCPなどでdumpファイルを持ってきます。
まずはインポートする前にDBの箱を作っておきます。

mysql> create database SIPDB;
mysql> use SIPDB
mysql> show variables like "chara%";
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8                       |
| character_set_connection | utf8                       |
| character_set_database   | utf8                       |
| character_set_filesystem | binary                     |
| character_set_results    | utf8                       |
| character_set_server     | utf8                       |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+

インポートします。

# mysql -u root -p TEST < SIPDB.dump

パスワードを入力するとインポート完了です。
mysqlにつないで「show tables」でテーブルが作られていること、
「select * from テーブル名」で中身が入っていることを確認します。

さいごに

データベース移行はあっさり終わりました。
ダンプファイルがGB単位になると思ってたので、EBSで新規ボリュームアタッチ→ファイルシステムをフォーマット→マウントとやってたのですがそんな必要なかったです。
この後、さらに以下のことをやりました。

  • PHPからMySQLへの接続確認
  • EC2インスタンスのElastic IPの付け替え(Classic→VPC)
  • sip.confの修正(グローバルIPを指定している部分)
  • CloudWatch(CPU&ネットワーク監視)の再設定

そして、
soudan_splash.jpg

相談電話のAndroidアプリから接続することができました!
これで旧世代のt1.microで月3000円ほどかかってたサーバ費用が、t2.nanoで月600円程度に抑えられます!
ただサーバ側の動作がかなりもっさりなのでやっぱ、t2.microくらいにしておいたほうがいいかも。

参考にしたサイト

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0