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

你可能感兴趣的:(学习之路)