.frm、.MYI、および
.MYD ファイルを
MyISAM
テーブルに同じフローティング ポイント
フォーマットをサポートしている異なるアーキテクチャ間でコピーでします。(MySQL
はバイト
スワッピング問題を処理します。.)項13.4. 「MyISAM ストレージエンジン」
参照。
データベースを異なるアーキテクチャ間で移動する場合、mysqldump を使用して SQL ステートメントを含むファイルを作成します。次にそのファイルを別のマシンに転送して mysql クライアントの入力として扱います。
利用できるオプションを表示するには mysqldump --help を使用します。データを新しいバージョンの MySQL に移動するには mysqldump --opt を使用して最適化を活用することによってさらに小さくて迅速に処理が可能なダンプ ファイルを作成します。
データベースを 2 つのマシンで間で移動する最も容易な方法(速くはないが)はデータベースを搭載したマシン上で以下のコマンドを実行することです。す。
shell>mysqladmin -h 'shell>other_hostname' createdb_namemysqldump --optdb_name| mysql -h 'other_hostname'db_name
データベースを遠隔のマシンから速度の遅いネットワークにコピーするには、以下のコマンドを使用します。
shell>mysqladmin createshell>db_namemysqldump -h 'other_hostname' --opt --compressdb_name| mysqldb_name
ダンプをファイルに保存して、そのファイルをターゲット マシンに転送し、そのファイルをそこのデータベースにロードすることもできます。例えば、データベースをソース マシンの圧縮ファイルに以下のようにダンプします。
shell> mysqldump --quick db_name | gzip > db_name.gz
データベースのコンテンツを含んだファイルをターゲット マシンに転送しそこで以下のコマンドを実行します。
shell>mysqladmin createshell>db_namegunzip <db_name.gz | mysqldb_name
データベースの転送に mysqldump
および mysqlimport
を使用することもできます。大きなテーブルの場合、これは単に
mysqldump
を使用するよりも非常に速く転送できます。.以下のコマンドで、DUMPDIR
は mysqldump
の出力の保存に使用されるディレクトリのフルのパス名です。
最初に、その出力ファイルのディレクトリを作成してデータベースをダンプします。
shell>mkdirshell>DUMPDIRmysqldump --tab=DUMPDIRdb_name
次に DUMPDIR
ディレクトリのファイルをターゲット
マシンの相当するディレクトリに転送して、そのファイルをそこの
MySQL にロードします。
shell>mysqladmin createshell>db_name# create databasecatshell>DUMPDIR/*.sql | mysqldb_name# create tables in databasemysqlimportdb_nameDUMPDIR/*.txt # load data into tables
mysql
データベースのコピーを忘れないでください。そこにグラント
テーブルが保存されています。コマンドを MySQL
root
ユーザーとして新しいマシンで
mysql
データベースの用意できるまで実行することもできます。
mysql
データベースを新しいマシンにインポートしたら、mysqladmin
flush-privileges
を実行してサーバにグラント
テーブルの情報をロードさせます。
