Mysql主从复制(拓展博客文章分享及思考)
2018-09-03 23:31
716 查看
##不停库不锁表在线主从配置
使用 Xtrabackup 在线对MySQL做主从复制
1.数据量大的话还是建议使用工具例如xtrabackup,mysqldump比较适合操作10G以下的数据备份复制。
2.做业务之前考虑清楚具体要实现什么需求,不要盲目使用,选择适合自己的方案
3.Seconds_Behind_Master: 从属服务器“落后”多少秒 利用好主从服务器延迟
##主从不同步问题解决
Mysql主从不同步解决方法
MYSQL主从同步故障一例及解决过程!
1.重视报错日志:根据错误代码找到具体错误原因再针对分析,做到提前预防或者缺陷补充
2.show slave status \G; 关注error行相关信息
##主主架构实现
关于 auto_increment
MySQL auto_increment_increment,auto_increment_offset 用法
MySQL双主(主主)架构方案
1.多主需要考虑自增长ID问题,这个需要特别设置配置文件,比如双主,可以使用奇偶,总之,主之间设置自增长ID相互不冲突就能完美解决自增长ID冲突问题。
2.主主实现思路:
1)两台mysql都可读写,互为主备,默认只使用一台(masterA)负责数据的写入,另一台(masterB)备用;
2)masterA是masterB的主库,masterB又是masterA的主库,它们互为主从;
3)两台主库之间做高可用,可以采用keepalived等方案(使用VIP对外提供服务);
4)所有提供服务的从服务器与masterB进行主从同步(双主多从);
5)建议采用高可用策略的时候,masterA或masterB均不因宕机恢复后而抢占VIP(非抢占模式);
1.优化从缓存入手:innodb_flush_log_at_trx_commit
2.进行分库分表处理,这样减少数据量的复制同步操作
mysql-proxy类似的产品有:mycat 基于阿里的开源软件cobar,官网 www.mycat.io
MySQL分布式中间件MYCAT解析
学会数据库读写分离、分表分库——用Mycat
1.Mycat主从分离只是在读的时候做了处理,写入数据的时候,只会写入到writehostStep By Step 搭建 MySql MHA 集群,需要通过mycat的主从复制将数据复制到readhost,这个问题当时候我纠结了好久,数据写入writehost后,readhost一直没有数据,以为是自己配置的问题,后面才发现Mycat就没有实现主从复制的功能,毕竟数据库本身自带的这个功能才是最高效稳定的。
2.分库分表对于复杂的多表联查sql可能支持的不好。
atlas
出自于360,不维护不更新了
MySQL + Atlas 部署读写分离
Mycat和atlas都是通过代理实现的
mysql架构演变
mysql架构由小变大的演变过程
1.第1阶段考虑主从,冷备份
2.第2阶段web和db分开,搭建memcached服务作为缓存
3.第3阶段,mysql主从,一主多从。读写分离
4.第4阶段,把mysql原来的一主多从变为一主一从,然后从作为其他从的主,而前面的主只负责网站业务的写入,而后面的从不负责网站任何业务,只负责给其他从同步bin-log。
5.第5阶段,分库分表。
使用 Xtrabackup 在线对MySQL做主从复制
1.数据量大的话还是建议使用工具例如xtrabackup,mysqldump比较适合操作10G以下的数据备份复制。
2.做业务之前考虑清楚具体要实现什么需求,不要盲目使用,选择适合自己的方案
3.Seconds_Behind_Master: 从属服务器“落后”多少秒 利用好主从服务器延迟
##主从不同步问题解决
Mysql主从不同步解决方法
MYSQL主从同步故障一例及解决过程!
1.重视报错日志:根据错误代码找到具体错误原因再针对分析,做到提前预防或者缺陷补充
2.show slave status \G; 关注error行相关信息
##主主架构实现
关于 auto_increment
MySQL auto_increment_increment,auto_increment_offset 用法
MySQL双主(主主)架构方案
1.多主需要考虑自增长ID问题,这个需要特别设置配置文件,比如双主,可以使用奇偶,总之,主之间设置自增长ID相互不冲突就能完美解决自增长ID冲突问题。
2.主主实现思路:
1)两台mysql都可读写,互为主备,默认只使用一台(masterA)负责数据的写入,另一台(masterB)备用;
2)masterA是masterB的主库,masterB又是masterA的主库,它们互为主从;
3)两台主库之间做高可用,可以采用keepalived等方案(使用VIP对外提供服务);
4)所有提供服务的从服务器与masterB进行主从同步(双主多从);
5)建议采用高可用策略的时候,masterA或masterB均不因宕机恢复后而抢占VIP(非抢占模式);
mysql-proxy 实现读写分离
配置Mysql-proxy,实现读写分离1.优化从缓存入手:innodb_flush_log_at_trx_commit
2.进行分库分表处理,这样减少数据量的复制同步操作
mysql-proxy类似的产品有:mycat 基于阿里的开源软件cobar,官网 www.mycat.io
MySQL分布式中间件MYCAT解析
mycat实现分库分表
Mycat学会数据库读写分离、分表分库——用Mycat
1.Mycat主从分离只是在读的时候做了处理,写入数据的时候,只会写入到writehostStep By Step 搭建 MySql MHA 集群,需要通过mycat的主从复制将数据复制到readhost,这个问题当时候我纠结了好久,数据写入writehost后,readhost一直没有数据,以为是自己配置的问题,后面才发现Mycat就没有实现主从复制的功能,毕竟数据库本身自带的这个功能才是最高效稳定的。
2.分库分表对于复杂的多表联查sql可能支持的不好。
atlas
出自于360,不维护不更新了
MySQL + Atlas 部署读写分离
Mycat和atlas都是通过代理实现的
mysql环形主从
mysql环形主从配置mysql架构演变
mysql架构由小变大的演变过程
1.第1阶段考虑主从,冷备份
2.第2阶段web和db分开,搭建memcached服务作为缓存
3.第3阶段,mysql主从,一主多从。读写分离
4.第4阶段,把mysql原来的一主多从变为一主一从,然后从作为其他从的主,而前面的主只负责网站业务的写入,而后面的从不负责网站任何业务,只负责给其他从同步bin-log。
5.第5阶段,分库分表。
MHA架构
Step By Step 搭建 MySql MHA 集群相关文章推荐
- mysql主从复制学习分享
- 小马分享(如何使用Spring实现读写分离(MySQL实现主从复制))
- mysql主从复制的一篇文章(转载)
- MySQL主从复制与读写分离在windows系统下的实现(amoeba3.0+mysql5.1实现)因版本问题,本文在原来文章基础上有更改并且本人已经测试成功
- mysql 主从复制配置及读写分离分享
- Mysql主从复制搭建及详解
- mysql主从复制跳过错误
- mysql数据业务垂直+水平分割+主从复制读写分离
- MySQL基于GTID模式的主从复制设置
- mysql主从复制 之 一主一从
- MySQL主从复制
- mysql主从复制配置
- Mysql主从复制,实现数据同步
- centos7配置mysql的主从复制
- MySQL 主从复制
- MySQL主从复制的实现过程
- MySQL 数据库主从复制架构
- linux上.MySQL主从复制的配置
- mysql主从复制配置
- mysql 主从复制 && 失败切换