すべてのMySQLデータベースを古いサーバーから新しいサーバーに転送する方法


サーバー間で MySQL/MariaDB データベースを転送または移行するには、通常、簡単な手順がいくつかありますが、転送するデータの量によってはデータ転送に時間がかかることがあります。

この記事では、すべての MySQL/MariaDB データベースを古いLinuxサーバーから新しいサーバーに移行または移行し、正常にインポートしてデータがあることを確認する方法を学びます。

  • Make sure to have the same version of MySQL installed on both server with same distribution.
  • Make sure to have enough free space on both server to hold the database dump file and the imported database.
  • Don’t ever consider moving the data directory of database to another server. Never mess with internal structure of the database, if you do, you will face problems in future.

MySQLデータベースをダンプファイルにエクスポートする

最初に古いサーバーにログインして、次に示すように systemctl コマンドを使用してmysql/mariadbサービスを停止します。

# systemctl stop mariadb
OR
# systemctl stop mysql

その後、mysqldumpコマンドを使用して、すべての MySQL データベースを単一のファイルにダンプします。

# mysqldump -u [user] -p --all-databases > all_databases.sql

ダンプが完了したら、データベースを転送する準備が整いました。

単一のデータベースをダンプしたい場合は、次のようにします。

# mysqldump -u root -p --opt [database name] > database_name.sql

MySQLデータベースダンプファイルを新しいサーバーに転送する

次に示すように、scpコマンドを使用して、データベースダンプファイルをホームディレクトリの下の新しいサーバーに転送します。

# scp all_databases.sql [email protected]:~/       [All Databases]
# scp database_name.sql [email protected]:~/       [Singe Database]

接続すると、データベースは新しいサーバーに転送されます。

MySQLデータベースダンプファイルを新しいサーバーにインポートする

MySQLダンプファイルが新しいサーバーに転送されたら、次のコマンドを使用してすべてのデータベースをMySQLにインポートできます。

# mysql -u [user] -p --all-databases < all_databases.sql   [All Databases]
# mysql -u [user] -p newdatabase < database_name.sql      [Singe Database]

インポートが完了したら、mysqlシェルで次のコマンドを使用して両方のサーバーのデータベースを確認できます。

# mysql -u user -p
# show databases;

MySQLデータベースとユーザーを新しいサーバーに転送する

すべてのMySQLデータベース、ユーザー、権限、およびデータ構造の古いサーバーを新しいサーバーに移動する場合は、rsyncコマンドを使用して、表示されているようにmysql/mariadbデータディレクトリから新しいサーバーにすべてのコンテンツをコピーできます。

# rsync -avz /var/lib/mysql/* [email protected]:/var/lib/mysql/ 

転送が完了したら、mysql/mariadbデータディレクトリの所有権をuserおよびgroup mysqlに設定してから、ディレクトリ一覧を作成してすべてのファイルが転送されたことを確認します。

# chown mysql:mysql -R /var/lib/mysql/
# ls  -l /var/lib/mysql/

それで全部です!この記事では、すべてのMySQL/MariaDBデータベースをあるサーバーから別のサーバーに簡単に移行する方法を学びました。他の方法と比較して、この方法はどのように見つけられますか。私達は私達に達するために下記のコメントフォームを介してあなたから連絡を差し上げます。