mysqlhotcopyは元々Tim
Bunceによって書かれ、提供されたPerlスクリプトです。データベースバックアップを速やかに作成するため、LOCK
TABLES、FLUSH
TABLES、cpあるいはscpを使用します。データベースやシングルテーブルのバックアップを作成する最速の方法ですが、データベースディレクトリが存在する同じマシン上でしか作動しません。mysqlhotcopyはMyISAMとARCHIVEテーブルのバックアップのためのみ作動します。UnixとNetWareで作動します。
shell> mysqlhotcopy db_name [/path/to/new_directory]
shell> mysqlhotcopy db_name_1 ... db_name_n /path/to/new_directory
あるデータベース内で通常の表現とマッチするテーブルをバックアップする。
shell> mysqlhotcopy db_name./regex/
波線符号をプリフィクスにつけることでテーブル名の通常の表現を取り消すことができます(‘~’):
shell> mysqlhotcopy db_name./~regex/
mysqlhotcopyは次のオプションをサポートします。
ヘルプ メッセージを表示し、閉じます。
ターゲットディレクトリに名前をつけなおさず、(存在する場合)ただファイルを追加します。
ターゲットが存在する場合アボートせず、_oldサフィクスを追加することでリネームします。
特定のデータベースdb_nameとテーブルtbl_nameにチェックポイントエントリを挿入します。
mysqldがオペレートするchrootジェイルのベースディレクトリ。path値はmysqldオプションに与えられる--chrootオプションとマッチしなければいけません。
デバッグ出力を有効化します。
実行せずにアクションを報告します。
全てのテーブルがロックされたあとログをフラッシュします。
--host=,
host_name-h
host_name
ローカルサーバへのTCP/IP接続を作成するためのローカルホストのホスト名です。デフォルトで、接続はUnixソケットファイルを使用してlocalhostに作成されます。
終了後に以前の(リネームされた)ターゲットを消去しません。
ファイルの複製メソッド(cpあるいはscp)。
バックアップにフルインデックスファイルを含みません。これによりバックアップを小さく、早くすることができます。再ロードされたテーブルのインデックスは後ほどmyisamchk -rqを使用して再構築することができます。
--password=,
password-p
password
サーバに接続する際使用するパスワードです。他のMySQLプログラムと違って、このオプションにとってパスワード値は選択できません。コマンドライン上でパスワード提供を回避するためにオプションファイルを使用することができます。
コマンドライン上でのパスワードの特定は安全ではありません。項4.8.6. 「パスワードのセキュリティ」 を参照してください。
ローカルサーバ接続時に使用するTCP/IPポート番号です。
エラー発生時以外音を発しません。
--record_log_pos=
db_name.tbl_name
特定のデータベースdb_nameとテーブルtbl_nameにマスタとスレーブステータスを報告します。
与えられた通常の表現とマッチする名前のあるデータベースを全て複製します。
テーブルを全てロックした後バイナリログをリセットします。
テーブルを全てロックした後master.infoファイルをリセットします。
接続に使用するUnixソケットファイルです。
複製されたデータベースのサフィックスの名前です。
テンポラリディレクトリ。そのデフォルトは/tmpです。
--user=,
user_name-u
user_name
サーバに接続する際使用するMySQLユーザ名です。
mysqlhotcopyはオプションファイルから[client]と[mysqlhotcopy]オプショングループを読み取ります。
mysqlhotcopyを実行するには、バックアップしているテーブルのファイルへのアクセス権、SELECTテーブルの権限、RELOAD権限(FLUSH
TABLESの実行のため)そしてLOCK
TABLES権限(それらのテーブルをロックするため)を所持していなければいけません。
追加のmysqlhotcopyドキュメンテーションに関しては、perldocを使用してください。これは--checkpointと--record_log_posオプションに必要なテーブルの構成に関する情報についても、同様です。
shell> perldoc mysqlhotcopy
