MySQL 5.1 リファレンスマニュアル :: 2 MySQL のインストールと更新 :: 2.11 MySQL のアップグレード :: 2.11.2 MySQL データベースの他のマシンへのコピー
« 2.11.1 MySQL 5.0 から 5.1 へのアップグレード

2.12 MySQL のダウングレード »
Section Navigation      [Toggle]
  • 2.11 MySQL のアップグレード
  • 2.11.1 MySQL 5.0 から 5.1 へのアップグレード
  • 2.11.2 MySQL データベースの他のマシンへのコピー

2.11.2. MySQL データベースの他のマシンへのコピー

.frm、.MYI、および .MYD ファイルを MyISAM テーブルに同じフローティング ポイント フォーマットをサポートしている異なるアーキテクチャ間でコピーでします。(MySQL はバイト スワッピング問題を処理します。.)項13.4. 「MyISAM ストレージエンジン」 参照。

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

利用できるオプションを表示するには mysqldump --help を使用します。データを新しいバージョンの MySQL に移動するには mysqldump --opt を使用して最適化を活用することによってさらに小さくて迅速に処理が可能なダンプ ファイルを作成します。

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

shell> mysqladmin -h 'other_hostname' create db_name
shell> mysqldump --opt db_name | mysql -h 'other_hostname' db_name

データベースを遠隔のマシンから速度の遅いネットワークにコピーするには、以下のコマンドを使用します。

shell> mysqladmin create db_name
shell> mysqldump -h 'other_hostname' --opt --compress db_name | mysql db_name

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

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

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

shell> mysqladmin create db_name
shell> gunzip < db_name.gz | mysql db_name

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

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

shell> mkdir DUMPDIR
shell> mysqldump --tab=DUMPDIR db_name

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

shell> mysqladmin create db_name           # create database
shell> cat DUMPDIR/*.sql | mysql db_name   # create tables in database
shell> mysqlimport db_name DUMPDIR/*.txt   # load data into tables

mysql データベースのコピーを忘れないでください。そこにグラント テーブルが保存されています。コマンドを MySQL root ユーザーとして新しいマシンで mysql データベースの用意できるまで実行することもできます。

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

Copyright © 1997, 2010, Oracle and/or its affiliates. All rights reserved. Legal Notices
Top / Previous / Next / Up / Table of Contents
© 2010, Oracle Corporation and/or its affiliates