Webサーバーを移行しています。 MySQLデータベースの移行に行き詰まっています。 Ubuntu Serverの下で、移行に必要な.SQLファイルの場所を探していました。必要なのは.SQLファイルだけだと思います。 FTPとSSHを使用して移行を行います。どんな助けでも大歓迎です。
MySQLは.sqlファイルとしてデータを保存しません。データはMyISAMまたはInnoDBファイルとして保存されます。これらは通常/ var/lib/mysqlに保存されます。
SQLファイルにエクスポートする必要がある場合は、mysqldumpコマンドを使用してエクスポートできます。
デフォルトでは、MySQLはファイルを/var/lib/mysql
に保存しますが、デフォルトの場所が変更されている場合、ファイルが保存されている場所を見つけるより信頼性の高い方法は、設定ファイルを確認することです。
grep datadir /etc/mysql/my.cnf
データベースファイルの末尾が.SQLではないことに注意してください。一部は、どの種類のエンジン(MyISAM、InnoDBなど)に依存しますが、.MYD(MyISAMデータ)または.MYI(MyISAMインデックス)などで終わるファイルが表示されます。これらすべてのファイルが必要なので、ディレクトリ全体をコピーします。
直接コピーしてファイルを移行する場合は、最初に/etc/init.d/mysql stop
を使用してデータベースをシャットダウンする必要があることに注意してください。そうしないと、ファイルが不整合な状態になり、修復が必要になる場合や、不整合または破損したデータが含まれています。データベースをシャットダウンする場合は、次のコマンドを使用してファイルをコピーすることをお勧めします。
rsync -av /var/lib/mysql/ remotehost:/var/lib/mysql/
rsync
で-a
を使用すると、重要なファイルの所有権と権限が保持されます。また、rsync
では、ディレクトリの末尾のスラッシュが重要であることにも注意してください。
ファイルのコピー方法は、ダンプ/復元を行う必要がないため便利ですが、異なるアーキテクチャまたはデータベースのバージョン間を移動する場合は問題が発生することに注意してください。データベースのバージョン間を移動する場合は、上記のrsync
メソッドで機能する mysql_upgrade についても参照する必要があります。
データベースをシャットダウンせずにデータを移行したい場合や、異なるバージョンのmysqlまたは異なるアーキテクチャ間で移行する必要がある場合は、 mysqldump または mysqlhotcopy を使用できます。 =。
mysqldump -u <User> -p <Database Name> > dump.sql
を使用して、独自の.SQLファイルを作成する必要があります。
次に、mysql -u <User> -p < dump.sql
を使用して新しいサーバーにインポートする必要があります。
もちろん、適切な情報に置き換えてください。