半同步复制配置
介于异步复制和全同步复制之间,主库在执行完客户端提交的事务后不是立刻返回给客户端,而是等待至少一个从库接收到并写到relay log中才返回给客户端。相对于异步复制,半同步复制提高了数据的安全性,同时它也造成了一定程度的延迟,这个延迟最少是一个TCP/IP往返的时间。所以,半同步复制最好在低延时的网络中使用
主server12:
mysql> INSTALL PLUGIN rpl_semi_sync_master SONAME ‘semisync_master.so’;
mysql> set global rpl_semi_sync_master_enabled=1;
mysql> show variables like ‘%semi_sync%’;
从server13:
mysql> INSTALL PLUGIN rpl_semi_sync_slave SONAME ‘semisync_slave.so’;
mysql> set global rpl_semi_sync_slave_enabled=1;
mysql> stop slave io_thread;
mysql> start slave io_thread;
mysql> show global variables like ‘%semi%’;
插入检测:
在master中:
mysql> use test;
mysql> insert into userlist values (‘user3′,’123’);
mysql> show status like ‘%semi_sync%’;
将slave的半同步关掉,进行插入测试:
在slave中
mysql> set global rpl_semi_sync_slave_enabled=OFF; ###将半同步设置为关闭 mysql> stop slave io_thread;
mysql> start slave io_thread;
mysql> show global variables like ‘%semi%’;
在master中:
当把从机的I/O线程关闭后,主数据库在进行对复制数据库的库进行更改时,在进行操作会等待10秒,增加了一次半同步传输的失败次数。
mysql> insert into userlist values (‘user4′,’666’);
mysql> show global status like ‘%semi%’;
版权声明:本文为j_1282937574原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。