このページの2つのバージョン間の差分を表示します。
02_freebsd:04_database:01_mysql:mysql_replication [2012/12/13 06:28] – 作成 matsui | 02_freebsd:04_database:01_mysql:mysql_replication [2012/12/13 06:30] (現在) – [[スレーブ側]] matsui | ||
---|---|---|---|
行 1: | 行 1: | ||
+ | ====== MySQL - レプリケーション ====== | ||
+ | レプリケーションとは、あるデータベースから他のデータベースに複製を作ることです。 | ||
+ | |||
+ | ====== 構成 ====== | ||
+ | MySQL 5.1.30 | ||
+ | |||
+ | |||
+ | ====== [マスター側] ====== | ||
+ | |||
+ | ===== プリケーション用ユーザを作成 ===== | ||
+ | mysql> GRANT REPLICATION SLAVE ON *.* TO repl@' | ||
+ | |||
+ | ===== マスタサーバで更新ログを有効にする ===== | ||
+ | |||
+ | マスタサーバで更新ログ(バイナリログとも言う)を有効にします。~ | ||
+ | my.cnf ファイルに以下の記述があるか確認して下さい。 | ||
+ | < | ||
+ | | ||
+ | | ||
+ | | ||
+ | </ | ||
+ | <color red> | ||
+ | |||
+ | ===== テーブルへの書き込みを禁止 ===== | ||
+ | |||
+ | mysql> FLUSH TABLES WITH READ LOCK; | ||
+ | |||
+ | ===== マスタデータのスナップショットを撮る(tarで固める) ===== | ||
+ | < | ||
+ | # cd /home/mysql | ||
+ | # tar zcvf data.tar.gz data | ||
+ | # scp data.tar.gz [スレーブサーバ] | ||
+ | </ | ||
+ | |||
+ | ===== 更新ログの状態を取得する ===== | ||
+ | 実行したら、画面に出力された「File」と「Position」カラムの内容をメモしておきます。\\ | ||
+ | これは、現時点での更新ログファイル名とそのオフセットです。\\ | ||
+ | この後スレーブサーバ上でレプリケーションを有効にする際に必要になります。 | ||
+ | |||
+ | mysql> SHOW MASTER STATUS; | ||
+ | |||
+ | ===== ロックを解除 ===== | ||
+ | |||
+ | mysql> UNLOCK TABLES; | ||
+ | |||
+ | ===== バイナリログの自動削除 ===== | ||
+ | |||
+ | 確認コマンド | ||
+ | mysql> show global variables like ' | ||
+ | <color red> | ||
+ | |||
+ | my.cnfに下記を書いておけば、14日で削除される。 | ||
+ | set-variable = expire_logs_days=14 | ||
+ | |||
+ | ====== [スレーブ側] ====== | ||
+ | |||
+ | ===== スナップショットを展開する ===== | ||
+ | |||
+ | # cd /home/mysql | ||
+ | # tar zxvf data.tar.gz | ||
+ | |||
+ | ==== my.cnf設定 ==== | ||
+ | < | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | </ | ||
+ | |||
+ | ==== レプリケーションを行う準備 ==== | ||
+ | < | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | |||
+ | | ||
+ | </ | ||
+ | |||
+ | ==== スレーブの状態確認 ==== | ||
+ | < | ||
+ | | ||
+ | | ||
+ | Slave_IO_State: | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | Relay_Log_File: | ||
+ | | ||
+ | | ||
+ | Slave_IO_Running: | ||
+ | | ||
+ | | ||
+ | | ||
+ | Replicate_Do_Table: | ||
+ | Replicate_Ignore_Table: | ||
+ | | ||
+ | | ||
+ | Last_Errno: 0 | ||
+ | Last_Error: | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | Until_Log_File: | ||
+ | | ||
+ | Master_SSL_Allowed: | ||
+ | Master_SSL_CA_File: | ||
+ | Master_SSL_CA_Path: | ||
+ | | ||
+ | | ||
+ | Master_SSL_Key: | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | Last_SQL_Errno: | ||
+ | Last_SQL_Error: | ||
+ | 1 row in set (0.00 sec) | ||
+ | |||
+ | | ||
+ | No query specified | ||
+ | </ |