MySQLサーバー間でテーブルやデータベースをコピーする方法|mysqldumpの使い方を解説
あるMySQLサーバーから別のMySQLサーバーへテーブルやデータベースをコピーしたい場合は、mysqldumpコマンドにデータベース名とテーブル名を指定して使用します。
1. ダンプファイルを作成する
まず、コピー元のホストで以下のコマンドを実行します。これにより、データベース全体がdump.txtファイルに出力されます。
$ mysqldump -u root -p database_name table_name > dump.txt password *****
特定のテーブル名を指定せずに実行すれば、データベース全体をまとめてコピーすることも可能です。
2. ダンプファイルを別サーバーに取り込む
次に、作成したdump.txtファイルをFTPなどで別のホストに転送し、以下のコマンドを実行します。このコマンドを実行する前に、コピー先のサーバー上にあらかじめdatabase_nameというデータベースを作成しておく必要がある点に注意してください。
$ mysql -u root -p database_name < dump.txt password *****
3. 中間ファイルを使わず直接転送する方法
中間ファイル(dump.txt)を介さずに同じ作業を行う方法もあります。それは、mysqldumpの出力をネットワーク経由でリモートのMySQLサーバーに直接送信するやり方です。ソースデータベースが存在するホストから両方のサーバーに接続できる場合は、以下のコマンドを使用できます(両方のサーバーへのアクセス権限が必要です)。
$ mysqldump -u root -p database_name \ | mysql -h other-host.com database_name
このコマンドの仕組み
このコマンドでは、前半部分がローカルサーバーに接続し、ダンプ出力をパイプに書き込みます。後半部分はother-host.com上のリモートMySQLサーバーに接続し、パイプから入力を読み取りながら、各SQLステートメントをother-host.comのサーバーへ順次送信していきます。
この方法を使えば、ファイルの転送や一時的な保存の手間が省け、サーバー間のデータ移行を効率的に行うことができます。
-
Pythonでファイルを別のフォルダにコピーする方法|shutilモジュールの使い方を解説
Pythonでは標準ライブラリのshutilモジュールを使うことで、ファイルはもちろん、フォルダ全体も簡単にコピーできます。複数のファイルを一度にコピーしたい場合は、コピー対象となるファイル名をリストにまとめておき、forループで順番に処理するのが基本的なやり方です。shutil.copy()の基本的な使い方shutil.copy(source, destination)を呼び出すと、sourceパスにあるファイルが、destinationパスで指定したフォルダへコピーされます。sourceとdestinationはどちらも文字列で指定します。destinationにフォルダのパスを指定した場
-
Pythonモジュールを別のシステムにコピー・移行する方法【pip freezeの使い方】
はじめにPythonの開発環境を別のマシンに移したい場合、モジュール(パッケージ)の移行方法は大きく分けて2つのケースがあります。自分で作成したモジュールを移すケースと、pipなどでインストールした外部モジュールを移すケースです。それぞれ適切な方法を理解しておくと、環境構築の手間やトラブルを大幅に減らせます。 ケース1:自作モジュールをコピーする場合自分で作成したPythonモジュール(.pyファイル)であれば、特別な手順は不要です。ファイルをそのままコピーし、Pythonがインストールされている別のシステム上に置けば、そのまま実行できます。 ケース2:インストール済みモジュールを移行する場合