不停库不锁表在线主从配置
http://seanlook.com/2015/12/14/mysql-replicas/

笔记:

XtraBackup备份工具

关于mysqldump备份工具:

当导出的数据量在10G以下时,使用mysqldump工具更快捷;

当导出的数据量达到100G甚至更高时,会给源库造成很大压力,且mysqldump导出性能表现会很差;

关于Percona-Xtrabackup备份工具:

当备份的数据量在100-500G区间时,Percona-Xtrabackup备份工具可以很好的实现mysql的在线热备;

用户可以使用Percona-Xtrabackup备份工具实现对库的全量、增量、单表备份和还原;

2.2版本Xtrabackup工具可实现对InnoDB和XtraDB存储引擎数据库的非阻塞备份;

Innobackupex通过perl封装了一层Xtrabackup,对MyISAM的备份通过加表读锁的方式实现;

2.3版本Xtrabackup命令直接支持MyISAM引擎;

 

XtraBackup的优势:

无需停止数据库即可进行InnoDB热备

增量备份MySQL

流压缩传输到其他服务器

创建主从同步较容易

备份MySQL时不会增大服务器负载

 

 

做主从复制的原因:

减轻主库的读操作压力

做数据备份

主从切换实现服务高可用

读写分离

数据分析

 

复制类型:

基于语句的复制(STATMENT)

在主服务器上执行的语句,在从服务器上会执行相同的语句,此时可能由于执行语句时的环境不同导致数据不一致5.7.7版本前默认采用该复制类型

基于行的复制(ROW)

将改变的数据复制到从上,而不是直接将命令在从上执行一遍mysql5.0版本开始支持,可以保证数据一致性,这种情况下binlog文件会比较大

混合型复制(MIXED)

默认使用基于语句的复制类型,一旦发现基于语句的复制类型无法精确复制就会使用基于行的复制

 

从库太多会给主库和网络带宽造成较大压力,此时可以考虑级联复制

 

主从复制原理:

1 主将数据库的改变转为二进制日志事件记录到二进制日志文件binlog中

2 从将主的binlog中的二进制日志事件拷贝到从的relaylog中

3 从根据relaylog中的内容改写数据库

 


主从不同步
http://www.rfyy.net/archives/2309.html
http://blog.51cto.com/storysky/259280
主主
关于 auto_increment
https://blog.csdn.net/leshami/article/details/39779509
http://www.cnblogs.com/ygqygq2/p/6045279.html
mysql-proxy
实现读写分离 
http://blog.51cto.com/zzclinux/1980487