10bet网址
MySQL 5.6 リファレンスマニュアル
Download this Manual

2.11.5 MySQL データベースのほかのマシンへのコピー

データベースを異なるアーキテクチャー間で移動する必要がある場合、mysqldumpを使用して SQL ステートメントを含むファイルを作成します。次にそのファイルを別のマシンに転送してmysqlクライアントへの入力として扱います。

注記

同じ浮動小数点形式をサポートしている異なるアーキテクチャー間で、MyISAMテーブルの.frm.MYI、および.MYDファイルをコピーできます。(MySQL はバイトスワッピング問題を処理します。)セクション15.2「MyISAM ストレージエンジン」を参照してください。

利用できるオプションを表示するにはmysqldump --helpを使用します。

データベースを 2 つのマシンで間で移動するもっとも容易な (ただし、速くはない) 方法は、データベースを搭載したマシン上で次のコマンドを実行することです。

shell> mysqladmin -h 'other_hostname' createdb_nameshell> mysqldumpdb_name| mysql -h 'other_hostname'db_name

データベースをリモートマシンから速度の遅いネットワークを介してコピーするには、次のコマンドを使用できます。

shell> mysqladmin createdb_nameshell> mysqldump -h 'other_hostname' --compressdb_name| mysqldb_name

ダンプをファイルに保存して、そのファイルをターゲットマシンに転送し、そのファイルをそこのデータベースにロードすることもできます。たとえば、データベースをソースマシンの圧縮ファイルに次のようにダンプできます。

shell> mysqldump --quickdb_name| gzip >db_name.gz

データベースのコンテンツを含んだファイルをターゲットマシンに転送し、そこで次のコマンドを実行します。

shell> mysqladmin createdb_nameshell> gunzip <db_name.gz | mysqldb_name

データベースの転送にmysqldumpおよびmysqlimportを使用することもできます。大きなテーブルの場合、これは単にmysqldumpを使用するよりも非常に速いです。次のコマンドで、DUMPDIRmysqldumpの出力の保存に使用されるディレクトリのフルパス名です。

最初に、その出力ファイルのディレクトリを作成してデータベースをダンプします。

shell> mkdirDUMPDIRshell> mysqldump --tab=DUMPDIRdb_name

次にDUMPDIRディレクトリのファイルをターゲットマシンの相当するディレクトリに転送して、そのファイルをそこの MySQL にロードします。

shell> mysqladmin createdb_name# create database shell> catDUMPDIR/*.sql | mysqldb_name# create tables in database shell> mysqlimportdb_nameDUMPDIR/*.txt # load data into tables

mysqlデータベースをコピーすることを忘れないでください。付与テーブルがそこに格納されているからです。新しいマシンでmysqlデータベースが用意できるまで、コマンドを MySQLrootユーザーとして実行しなければならない場合があります。

mysqlデータベースを新しいマシンにインポートしたら、mysqladmin flush-privilegesを実行してサーバーに付与テーブルの情報をロードさせます。