14
14

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

CentOSでMySQL5.5いれて準同期レプリケーション組むまで

Posted at

MySQL使ってますか?

近年はMariaDBとかMongoDBとかNoSQLとかがでてきていろいろにぎやかになっているDB業界ですが以下前回と同文。

さて、今回は準同期レプリケーションです。当初はMySQL6.0からとかいわれてましたが5.5から入りましたね。

設定

まずは普通にレプリケーション組んで、設定ファイルにプラグイン読み込むのを記述するだけです。

マスター

マスターの設定は以下。
plugin-loadとrpl_semi〜〜〜の設定を忘れずに。

/etc/my.cnf
server-id=1
sync_binlog=1
log-bin=mysql-bin
plugin-load=rpl_semi_sync_master=semisync_master.so
rpl_semi_sync_master_enabled=1
rpl_semi_sync_master_timeout=10

MySQLを起動したら以下のコマンドでレプリケーション用のユーザを作っておきます。

GRANT REPLICATION SLAVE ON *.* TO 'slave-user'@'%' IDENTIFIED BY 'slave-password';

あとマスターのログのポジションとログファイル名を控えてください。

show master status;

スレーブ

スレーブの設定は以下。
こちらも同様。プラグインの読み込みと、スレーブなのでread_onlyを忘れずに。

/etc/my.cnf
server-id=2
sync_binlog=1
log-bin=mysql-bin
plugin-load=rpl_semi_sync_slave=semisync_slave.so
rpl_semi_sync_slave_enabled=1
read_only

設定してMySQLを起動したら以下のコマンドでマスターに接続します。

CHANGE MASTER TO MASTER_HOST = '[IPADDRESS]', MASTER_USER = '[USER]', MASTER_PASSWORD = '[PASSWORD]',MASTER_PORT=3306;

start slave;

これでレプリケーションが完了です。
確認してみましょう。

確認

確認は以下のコマンドでやります。

mysql> SHOW GLOBAL VARIABLES LIKE "rpl%";
+------------------------------------+-------+
| Variable_name                      | Value |
+------------------------------------+-------+
| rpl_recovery_rank                  | 0     |
| rpl_semi_sync_master_enabled       | ON    |
| rpl_semi_sync_master_timeout       | 10    |
| rpl_semi_sync_master_trace_level   | 32    |
| rpl_semi_sync_master_wait_no_slave | ON    |
+------------------------------------+-------+
5 rows in set (0.01 sec)
mysql> SHOW GLOBAL VARIABLES LIKE "rpl%";
+---------------------------------+-------+
| Variable_name                   | Value |
+---------------------------------+-------+
| rpl_recovery_rank               | 0     |
| rpl_semi_sync_slave_enabled     | ON    |
| rpl_semi_sync_slave_trace_level | 32    |
+---------------------------------+-------+
3 rows in set (0.00 sec)

mysql> SHOW STATUS LIKE 'Rpl_semi_sync%';
+----------------------------+-------+
| Variable_name              | Value |
+----------------------------+-------+
| Rpl_semi_sync_slave_status | ON    |
+----------------------------+-------+
1 row in set (0.00 sec)

では楽しい準同期ライフを!

14
14
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
14
14

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?