ServersMan@VPSのCentOS5をデータベースサーバーへ_その2

ServersMan@VPSのCentOS5をデータベースサーバーへ_その2
レプリケーションの設定編★

レプリケーションの設定を試したかったので、
もう1台VPSを借りてみた。それでも月額500円×2は安いでし。

マスターサーバー(182.163.50.81)
スレーブサーバー(182.163.92.153)

とする。

【1】.マスターサーバー、スレーブサーバー両方でのmy.conf設定

マスターサーバーのserver-idを1、スレーブサーバーのmysql-idを2に設定する

 [mysqld]
 server-id = ユニークな任意の数

【2】.マスターサーバーでのバイナリログの設定をONにする

バイナリログを出力する設定が必須となるので有効に。

[mysqld]
log_bin

【3】.それぞれのサーバーを再起動

/etc/init.d/mysqld restart

【4】.それぞれの確認作業

mysql -u root -p;

show variables like 'server_id';

show variables like 'log_bin';

[マスターサーバー側]---------------------------------------------
mysql> show variables like 'server_id';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| server_id     | 1     | 
+---------------+-------+
1 row in set (0.00 sec)

mysql> show variables like 'log_bin';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| log_bin       | ON    | 
+---------------+-------+
1 row in set (0.00 sec)

[スレーブーサーバー側]---------------------------------------------
mysql> show variables like 'server_id';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| server_id     | 2     | 
+---------------+-------+
1 row in set (0.00 sec)

【5】.マスターサーバーでの作業

スレーブから接続するためのユーザーを作成する

grant replication slave on *.* to 'replication'@'182.163.92.153' identified by 'パスワード';

【6】.バイナリログがどこまで書かれたかを確認

mysql> show master status;
+-------------------+----------+--------------+------------------+
| File              | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+-------------------+----------+--------------+------------------+
| mysqld-bin.000001 |      246 |              |                  | 
+-------------------+----------+--------------+------------------+
1 row in set (0.00 sec)

↑スレーブは、このポジションの位置からレプリケーションを開始させる必要がある!!

【7】.スレーブサーバーでの作業

change master to master_host = '182.163.50.81',
master_user = 'replication',
master_password = 'パスワード',
master_log_file = 'mysqld-bin.000001',
master_log_pos = 246;

【8】.スレーブとしての動作を開始させる

start slave;

【9】.動作確認。

結果。
マスターサーバーでの確認作業

レプリケーションを開始するとマスターサーバーにレプリケーションのスレッドが作成されるので、

起動を確認。

mysql> show processlist

マスター側のstate
Has sent all binlog to slave; waiting for binlog to be updat

スレーブ側のstate
Waiting for master to send event