Percona MySQL5.6ハーフ同期レプリケーション


まず普通のcloneを配置します
2台のサーバ、1台のプライマリとスタンバイ
プライマリサーバ:
10.10.1.30
Slave:
10.10.1.200
各機械のmyを修正します.cnfファイル、server_をそれぞれ変更id
プライマリサーバサーバサーバ_id=1,slaveのserver_id=2
2台のサーバを再起動します.
show variables like 'server_id';

2台のサーバのserver_を表示できます.idは違います.
Masterにログインし、次のように入力します.
grant replication slave on *.* to 'repl'@'10.10.1.200' identified by 'password';
flush privileges;
show master status;

マスターのFileフィールドとPostionフィールドを記録し、後で使用します.
Slaveにログインし、入力:
mysql> change master to    -> master_host='10.10.1.30',    -> master_port=3306,    -> master_user='repl',    -> master_password='password',    -> master_log_file='bin-file.000035',//さっきMasterのFileフィールド->master_log_pos=407;//MasterのPostionフィールド
mysql> start slave;Query OK, 0 rows affected (0.03 sec)
入力:show slave statusGエラーメッセージがなければclone構成は完了します.
半同期レプリケーションを構成します.
  • 半同期レプリケーションのプラグインが存在するかどうかを確認します.一般的に5.6バージョンは付属しています.

  • 到:/usr/lib 64/mysql/pluginここに存在するかどうかを確認します.
    [root@localhost plugin]# ll -h semisync_*-rwxr-xr-x. 1 root root 40K Sep 15 00:16 semisync_master.so-rwxr-xr-x. 1 root root 14K Sep 15 00:16 semisync_slave.so
    次にMasterにログインし、次のように入力します.
     install plugin rpl_semi_sync_master soname 'semisync_master.so';

    再ログインSlave入力:
    install plugin rpl_semi_sync_slave soname 'semisync_slave.so';

    この2つのファイル.そしてそれぞれマスターのmy.cnfファイルに追加:
    rpl_semi_sync_master_enabled=1rpl_semi_sync_master_timeout=3000rpl_semi_sync_master_trace_level=32rpl_semi_sync_master_wait_no_slave=on
    binlog_format=ROWbinlog_row_p_w_picpath=minimal
    Slaveのmy.cnfファイルの追加:
    rpl_semi_sync_slave_enabled=1slave-parallel_workers=4
    binlog_format=ROWbinlog_row_p_w_picpath=minimal
    最後にslave-parallel_workerパラメータはslaveワークスレッドを増やし、パフォーマンスを向上させることができます.binlog_formatはrowフォーマットを使うともっと安全になります.p_w_picpathがminimalに設定されている場合、binlogは影響を受けるローのみを記録します.2台のサーバをそれぞれ再起動してもかまいません.
    次にmasterまたはslaveに入力します.
    show global variables like 'rpl_semi%';

    rplの表示semi_sync_master_enabledまたはrpl_semi_sync_slave_enabledがONしているか