PCを買い替えたのでMySQLのデータを移行する(バックアップ&復元)


新しいMacBookを購入したので新しいPCにMySQLを入れ直して、データを全て移行しようと思います。

失敗したこと

全ての情報をバックアップを取るには --all-databases というオプションをつけると良いそうです。
僕はこれを元に全てのデータベースのデータをバックアップを取って、新しいPCに送りインポートしましたが、mysqlの設定等に必要なテーブルの情報まで移行してしまって、危うく新PCのmysqlがぶち壊れそうになりました。

初期化したり再インストールして難を逃れましたが...。

成功したこと

旧PCでこのような手順で行います。

  1. 全てのデータベースを確認する
  2. 必要なデータベースのみ指定してバックアップを取る
  3. AirDropなどで新PCにバックアップデータを送る
  4. 新PCのMySQLにインポートする

全てのデータベースを確認します

SHOW DATABASES;

データベース名を全て指定して、必要なDBのバックアップを取ります。
すごく面倒ですが、これしかなさそうです。

mysqldump --database db1 db2 db3 db4 > abc.sql > ./mysql_backup.dump

そして、AirDropなどで新しいPCにこのダンプファイルを送り、
新しいMacBookでこのダンプファイルをインポートします。

新しいPCでこのようにコマンドを打ちます。

mysql -uroot -p < ~/Downloads/mysql_backup.dump

終わりに

楽をしようとして危ない目に遭いかけました。
地道にやるしかなさそうですね。