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

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(非抢占模式);

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 集群
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息