您的位置:首页 > 数据库 > MySQL

MySQL5.5复制新特性

2012-02-08 15:57 267 查看
MySQL5.5版本对MySQL Replication进行了多项的改良,以提供数据的完整性,性能和应用灵活性更高水平。
通常每台slave对master的负载是1%。
MySQL5.5复制改进:

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

异步复制:

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

同步复制:

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

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

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

在master和slave端安装插件

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

开启

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;

确认复制运行在Semisynchronous模式下

M>SHOW STATUS LIKE ‘Repl_semi_sync_master_yes_tx’;

更多

drbd, Heartbeat, innodb, master, MyISAM, mysql5.5, Replication, Semisynchronous, Semisynchronous Replication, slave, 同步复制, 异步复制
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: