不停库不锁表在线主从配置
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