首页 / MYSQL / mysql主从复制汇总
mysql主从复制汇总
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了mysql主从复制汇总,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2715字,纯文字阅读大概需要4分钟。
内容图文
![mysql主从复制汇总](/upload/InfoBanner/zyjiaocheng/463/943efd85a2824c5680e66e2cdaec6174.jpg)
基于行 rows
混合方式 mixed
二进制日志事件
基于位置postion基于时间datetime-timestamp
复制过程有一个很重要的限制——复制在slave上是串行化的也就是说master上的并行更新操作不能在slave上并行操作。所以slave上数据一般要慢于master上数据。即master与slave之间的数据在一定时间内会不同步。
同步、异步、半同步复制
同步
同步复制可以定义为数据在同一时刻被提交到一台或多台机器通常这是通过众所周知的“两阶段提交”做到的。
异步
主库在执行完一些事务后是不会管备库的进度的。如果备库不幸落后而更不幸的是主库此时又出现Crash例如宕机这时备库中的数据就是不完整的。简而言之在主库发生故障的时候我们无法使用备库来继续提供数据一致的服务了。
半同步
当Master上开启半同步复制的功能时至少应该有一个Slave开启其功能。
此时一个线程在Master上提交事务将受到阻塞直到得知一个已开启半同步复制功能的Slave已收到此事务的所有事件或等待超时。
mysql半同步复制
show global variables like ‘have_dynamic_loading‘;
INSTALL PLUGIN rpl_semi_sync_master SONAME ‘semisync_master.so‘;
INSTALL PLUGIN rpl_semi_sync_slave SONAME ‘semisync_slave.so‘;
show global variables like ‘plugin_dir‘;
select * from information_schema.plugins; or show plugins;
SET GLOBAL rpl_semi_sync_master_enabled = 1;
SET GLOBAL rpl_semi_sync_master_timeout = 60;
SET GLOBAL rpl_semi_sync_slave_enabled = 1;
start slave;
show slave status;
多源复制
STOP SLAVE;
SET GLOBAL master_info_repository = ‘TABLE‘;
SET GLOBAL relay_log_info_repository = ‘TABLE‘;
slave > change master to master_host="127.0.0.1", master_port=20121,
master_user="multi",master_password="multi" FOR CHANNEL ‘master1‘;
slave > change master to master_host="127.0.0.1", master_port=20122,
master_user="multi",master_password="multi" FOR CHANNEL ‘master2‘;
slave > change master to master_host="127.0.0.1", master_port=20123,
master_user="multi",master_password="multi" FOR CHANNEL ‘master3‘;
start slave for channel ‘master1‘;
start slave for channel ‘master2‘;
show slave status for channel ‘master1‘;
show slave status for channel ‘master2‘;
GTID
GTID即全局事务ID(global transaction identifier )
GTID = source_id:transaction_id
eg:3E11FA47-71CA-11E1-9E33-C80AA9429562:50
每一个 GTID 代表一个数据库事务
开启GTID
set global enforce_gtid_consistency=on;
set global log_slave_updates=on;
set global gtid_mode=OFF_PERMISSIVE;
set global gtid_mode=ON_PERMISSIVE;
set global gtid_mode=on;
使用GTID建立主从
mysql> change master to master_host=‘1.1.1.1‘,master_port =3306,master_user=‘gtid‘,master_password=‘gtid‘,master_auto_position=1;
mysql并行复制
本文出自 “allen的个人博客” 博客,请务必保留此出处http://allen2288.blog.51cto.com/1184612/1767068
mysql主从复制汇总
标签:master mysql 二进制
本文系统来源:http://allen2288.blog.51cto.com/1184612/1767068
内容总结
以上是互联网集市为您收集整理的mysql主从复制汇总全部内容,希望文章能够帮你解决mysql主从复制汇总所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。