mysql主從同步復制模式實例講解

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

發佈留言