1. 異步復制#默認是這個
2. 全同步復制
3. 半同步復制#可以說就是上面兩種的想加,缺點是會有一定程度的延遲
查看是否可以動態加載模塊
mysql>show variables like "have_dynamic_loading";
主庫安裝半同步的模塊
mysql>INSTALL PLUGIN(插件的意思,因為mysql從5.5開始,就以插件的形式來支持同步復制模式瞭,所以是裝插件) rpl_semi(半)_sync(同步)_master SONAME 'semisync_master.so';
從庫安裝半同步的模塊
mysql>INSTALL PLUGIN rpl_semi_sync_slave SONAME 'semisync_slave.so';
查看系統庫下的表,模塊是否安裝成功
mysql>SELECT PLUGIN_NAME,PLUGIN_STATUS FROM INFORMATION(信息)_SCHEMA(概要).PLUGINS WHERE PLUGIN_NAME LIKE '%semi%';
啟用半同步復制模式
主庫
mysql>SET GLOBAL(全局) rpl_semi_sync_master_enabled = 1;
從庫
mysql>SET GLOBAL rpl_semi_sync_slave_enabled = 1;
查看半同步復制模式是否啟用
mysql>show variables like "rpl_semi_sync_%_enabled";
修改配置文件/etc/my.cnf 讓安裝模塊和啟用的模式永久生效
主庫
]# vim /etc/my.cnf [mysqld] plugin-load=rpl_semi_sync_master=semisync_master.so #關鍵詞plugin-load rpl_semi_sync_master_enabled=1
從庫
]# vim /etc/my.cnf [mysqld] plugin-load=rpl_semi_sync_slave=semisync_slave.so rpl_semi_sync_slave_enabled=1
既做主又做從
]# vim /etc/my.cnf [mysqld] plugin-load = "rpl_semi_sync_master=semisync_master.so;rpl_semi_sync_slave=semisync_slave.so" rpl-semi-sync-master-enabled = 1 rpl-semi-sync-slave-enabled = 1