mysql主从架构实践

                                      mysql主从架构实践

优化已上线的系统:读的比较多,系统比较慢,cpu没有超过50%,硬盘没有达到满载的负荷,网络也没有满载,用nginx横向扩展节点的方案无法解决这个问题


加缓存会涉及到成本的增加(开发--测试--上线)



主从复制(风险:数据的一致性)

一、mysql主从同步原理


为什么要使用主从同步?
1.实时灾备,用于故障切换;2.读写负载均衡;3.定时任务专用;4.开发人查看
主从同步带来的问题:1.中间链路中断,数据不一致问题;2.从库只有一个sql Thread
解决方法:1.mysql半同步复制 ; 2.并行复制
二、常用主从同步方案

三、一主多从方案实践

一、配置mysql master 节点my.cnf参数
Binlog_Do_DB = 同步的数据
Binlog_lgnore_DB = 勿略的数据库

mysql > show master status;
mysql > quit;
vim /etc/my.cnf
 

#需要同步的二进制数据库名:
binlog-do-db=tuling
#不同步的二进制数据库名,如果不设置可以将其注释掉;
binlog-ignore-db=information_schema
binlog-ignore-db=mysql
binlog-ignore-db=personalsite
binlog-ignore-db=test

server-id = 1
log-bin=mysql-bin   #开启binlog


编写完文件再重启mysql
service mysql restart
配置slave1子节点的信息my.cnf

server-id   = 2
log-bin=mysql-slave-bin
replicate-do-db=tuling   
replicate-do-db=tuling2
replicate-ignore-db=information_schema    
replicate-ignore-db=mysql
replicate-ignore-db=personalsite
replicate-ignore-db=test 

配置slave2子节点的信息my.cnf
 


server-id   = 3
replicate-do-db=tuling3  
replicate-ignore-db=information_schema    
replicate-ignore-db=mysql
replicate-ignore-db=personalsite
replicate-ignore-db=test 

进入slave mysql执行master配置命令
change master to master_host='192.168.0.101', master_user='root',master_password='123456'
进行查看是否配置成功
vim /data/mysql/master.info
启动slave线程 start slave;
显示节点状态
show slave status\G;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值