質問: MySQLで、コールドバックアップとリストアの練習をしたいと思い、見よう見まねで下記作業を行ったところ、移行できませんでした。 マシンAからマシンBへのMySQLデータベース移行を意図しています。 どちらもxamppを使っています。 1. マシンAのMySQLを停止 2. マシンAの C:\xampp\mysql\data\testdb 内のファイルをUSBメモリへコピー 3. マシンBの C:\xampp\mysql\data\testdb へ上記ファイルを貼り付け 4. マシンBのMySQLを起動 → MySQLが起動しない。"mysqld.exeは動作を停止しました" ![イメージ説明](https://teratail.storage.googleapis.com/uploads/contributed_images/7c1067a070a60582d8057bf9287cec01.png) ググって調べたところ、 C:\xampp\mysql\data\ibdata1 ファイルもコピーすれば動くらしいことが理解できました。 しかし、マシンB側には他のDBがあるので、ibdata1ファイルを上書いてしまうのは良くないだろうと感じています。 普通はどのようにこの状況を解決するのか、知識のある方がいらっしゃいましたら、お教え頂けないでしょうか。
回答: 「普通はどのようにこの状況を解決するのか」の「この状況」とは"コールドバックアップと復元といいながら、別マシンには別DBがある状態"にあたるかと思います。 普通はコールドバックアップを、別のDBと並列させて復元しませんし、そのような要件があるなら、コールドバックアップを選択しません。 ibdata1はinnoDBのデータが入っているファイルなので、それなしでデータベースを復元しても無意味だと思います(せいぜい空のテーブル定義だけのデータを復元して何の意味があるのでしょうか)