导读 MySQL主从复制环境中,如何才能保证主从数据的一致性呢? 关于主从复制 现在常用的MySQL高可用方案,十有八九是基于 MySQL的主从复制(replication)来设计的,包括常规的一主一从、双主模式,或者半同步复制(semi-sync replication)。 我们常常把MySQL ...
分类:
其他好文 时间:
2017-08-05 15:40:04
阅读次数:
178
1.背景*GTID:全局事物ID(GlobalTransactionID),在整个事务架构中每一个事务ID号是全局唯一的,不止是在一个节点上而是整个主从复制架构中每任何两个事务的ID号都不会相同。*GTID就是由当前节点的UUID(一个128位的随机数)和为当前节点生成的自增数(TID)组成的。*GTID在分布..
分类:
数据库 时间:
2017-07-25 00:53:39
阅读次数:
274
1.背景*MySQLReplication默认都是异步(asynchronous),当主库在执行完一些事务后,是不会管备库的进度的。如果备库不幸落后,而更不幸的是主库此时又出现Crash(例如宕机),这时备库中的数据就是不完整的。简而言之,在主库发生故障的时候,我们无法使用备库来继续提供数据..
分类:
数据库 时间:
2017-07-21 22:02:24
阅读次数:
241
Mysql5.6半同步策略 Mysql 5.6在半同步的时候,采用的是After Commit策略。即在主库上commit了之后,等待从库返回确认。 在这里,首先会出现幻读的问题,即当前连接的事务读取不到这条记录,而其他连接因为主库已经提交了事务,所以能读取到这条记录。 其次,如果在主库等待从库确认 ...
分类:
数据库 时间:
2017-07-18 13:25:12
阅读次数:
150
复制其最终目的是让一台服务器的数据和另外的服务器的数据保持同步,已达到数据冗余或者服务的负载均衡。一台主服务器可以连接多台从服务器,并且从服务器也可以反过来作为主服务器。主从服务器可以位于不同的网络拓扑中,由于mysql的强大复制功能,其复制目标可以是所有的数据库,也可以是某些数据库,甚至是某个数据... ...
分类:
数据库 时间:
2017-07-09 10:30:57
阅读次数:
217
--###半同步配置--1、插件位置mysql> show variables like 'plugin_dir' -> ;+ + +| Variable_name | Value |+ + +| plugin_dir | /usr/local/mysql/lib/plugin/ |+ + + [m ...
分类:
数据库 时间:
2017-07-08 11:18:53
阅读次数:
226
1.问题背景默认情况下,线上的mysql复制都是异步复制,因此在极端情况下,主备切换时,会有一定的概率备库比主库数据少,因此切换后,我们会通过工具进行回滚回补,确保数据不丢失。半同步复制则要求主库执行每一个事务,都要求至少一个备库成功接收后,才真正执行完成,因此可..
分类:
数据库 时间:
2017-07-03 15:03:06
阅读次数:
220
mysql-学习-13-20170621-MySQL备份恢复-xtrabackup-3 MariaDB mysqlbinlog 10.2 带 【管理员】吴炳锡(82565387) 20:35:31MaxScale proxy : 支持半同步binlog server 下面的两个工具可以支持binlo ...
分类:
数据库 时间:
2017-06-22 00:21:20
阅读次数:
266
由来: 最近一直在想怎么高效率的在IO线程接收到数据时通知逻辑线程(基于线程池)工作的问题,像网络编程的服务器模型的一些模型都需要用到这个实现,下面我这里简单的罗列一个多线程的网络服务器模型 半同步/半异步(half-sync/half-async): 许多餐厅使用 半同步/半异步 模式的变体。例如 ...
分类:
编程语言 时间:
2017-06-15 14:09:02
阅读次数:
200
1、分别在主从节点上安装相关的插件master>INSTALLPLUGINrpl_semi_sync_masterSONAME‘semisync_master.so‘;slave>INSTALLPLUGINrpl_semi_sync_slaveSONAME‘semisync_slave.so‘;2、启用半同步复制在master上的配置文件中,添加rpl_semi_sync_master_enabled=ON在至少一个s..
分类:
数据库 时间:
2017-06-14 16:33:37
阅读次数:
245