MySQL 8.0 リファレンスマニュアル MySQL NDB Cluster 8.0 を含む
このページは機械翻訳したものです。
データベースを異なるアーキテクチャー間で移動する必要がある場合、mysqldump を使用して SQL ステートメントを含むファイルを作成します。 次にそのファイルを別のマシンに転送して mysql クライアントへの入力として扱います。
利用できるオプションを表示するには mysqldump --help を使用します。
GTID がダンプ (gtid_mode=ON) を作成するサーバーで使用されている場合、デフォルトでは、mysqldump は gtid_executed セットの内容をダンプに含めて、これらを新しいマシンに転送します。 この結果は、関係する MySQL Server のバージョンによって異なる場合があります。 mysqldump's --set-gtid-purged オプションの説明を確認して、使用しているバージョンで何が起こるか、およびデフォルトの動作の結果が状況に適していない場合の動作の変更方法を確認します。
データベースを 2 つのマシンで間で移動するもっとも容易な (ただし、速くはない) 方法は、データベースを搭載したマシン上で次のコマンドを実行することです。
mysqladmin -h 'other_hostname' createdb_namemysqldumpdb_name| mysql -h 'other_hostname'db_name
データベースをリモートマシンから速度の遅いネットワークを介してコピーするには、次のコマンドを使用できます。
mysqladmin createdb_namemysqldump -h 'other_hostname' --compressdb_name| mysqldb_name
ダンプをファイルに保存して、そのファイルをターゲットマシンに転送し、そのファイルをそこのデータベースにロードすることもできます。 たとえば、データベースをソースマシンの圧縮ファイルに次のようにダンプできます。
mysqldump --quickdb_name| gzip >db_name.gz
データベースのコンテンツを含んだファイルをターゲットマシンに転送し、そこで次のコマンドを実行します。
mysqladmin createdb_namegunzip <db_name.gz | mysqldb_name
データベースの転送に mysqldump および mysqlimport を使用することもできます。 大きなテーブルの場合、これは単に mysqldump を使用するよりも非常に速いです。 次のコマンドで、DUMPDIR は mysqldump の出力の保存に使用されるディレクトリのフルパス名です。
最初に、その出力ファイルのディレクトリを作成してデータベースをダンプします。
mkdirDUMPDIRmysqldump --tab=DUMPDIRdb_name
次に DUMPDIR ディレクトリのファイルをターゲットマシンの相当するディレクトリに転送して、そのファイルをそこの MySQL にロードします。
mysqladmin createdb_name# create database catDUMPDIR/*.sql | mysqldb_name# create tables in database mysqlimportdb_nameDUMPDIR/*.txt # load data into tables
mysql データベースをコピーすることを忘れないでください。付与テーブルがそこに格納されているからです。 新しいマシンで mysql データベースが用意できるまで、コマンドを MySQL root ユーザーとして実行しなければならない場合があります。
mysql データベースを新しいマシンにインポートしたら、mysqladmin flush-privileges を実行してサーバーに付与テーブルの情報をロードさせます。