MySQL5.5复制新特性

  • A+
所属分类:MySQL

MySQL5.5版本对MySQL Replication进行了多项的改良,以提供数据的完整性,性能和应用灵活性更高水平。

通常每台slave对master的负载是1%。

MySQL5.5复制改进:

  1. Semisynchronous Replication:主从之间的等待机制
  2. Slave fsync tuning:调整slave fsync包括sync-master-info,sync-relay-log,sync-relay-log-info
  3. automatic relay log recovery:中继日志自动恢复
  4. Replication Heartbeat:复制心跳检测
  5. Per server replication filtering:复制过滤
  6. Precise slave type conversions:slave精确类型转换
  7. Individual log flushing:日志刷新
  8. Safe logging of mixed transactions:事务和非事务存储引擎间的事务复制
  1. 异步复制:

异步复制是指数据从一台计算机复制到另一台,在实际的复制过程中数据的变化造成的延误。通常,这种延迟是由网络带宽,资源可用性和系统负荷造成的。

  1. 同步复制:

MySQL的InnoDB或MyISAM存储引擎本身并不支持同步复制。DRBD技术,提供了基本的文件系统同步复制。

  1. 不完全的同步复制(Semisynchronous Replication):

只是MySQL5.5的新特性。如果master启用semisynchronous复制,那么至少有一个slave配置semisynchronous。一个线程在master端执行一个事务提交后,等待直到至少有一个semisynchronous  slave向master返回它已经收到所有事务的确认或超时。

一旦超时,master依然提交事务,但是返回到异步模式下。

迁移到Semisynchronous Replication模式:

  1. 在master和slave端安装插件

M>INSTALL PLUGIN rpl_semi_sync_master SONAME ‘semisync_master.so’;

S>INSTALL PLUGIN rpl_semi_sync_slave SONAME ‘semisync_slave.so’;

  1. 开启

M>SET GLOBAL rpl_semi_sync_master_enabled = on;

S>SET GLOBAL rpl_semi_sync_slave_enabled = on;

S>STOP SLAVE IO_THREAD;

S>START SLAVE IO_THREAD;

查看Semisynchronous Replication是否运行和有多少slave是以Semisynchronous模式连接master:

M>SHOW STATUS LIKE ‘Repl_semi_sync_master_STATUS;

M>SHOW STATUS LIKE ‘Repl_semi_sync_master_clients;

  1. 确认复制运行在Semisynchronous模式下

M>SHOW STATUS LIKE ‘Repl_semi_sync_master_yes_tx’;

weinxin
微信公众号
扫一扫关注运维生存时间公众号,获取最新技术文章~

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: