欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

mysql主从同步复制模式实例讲解

程序员文章站 2023-11-15 18:24:34
1. 异步复制#默认是这个 2. 全同步复制 3. 半同步复制#可以说就是上面两种的想加,缺点是会有一定程度的延迟 查看是否可以动态加载模块 mysql>show variables li...

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