Mysql 架构升级方案

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Mysql 架构升级方案

升级前架构:

Mysql 5.6 + Keepalived

双主互为主备,单写,环境62.11.6.23/24 (主)

62.11.6.24/24 (从----热备:主DOWN ,升级为从)

62.11.6.25/24 (从)

62.11.6.127/24(VIP)

优点:部署简单,易于维护;

缺点:读写单点,钧通过23.机器进行读写,不适合高频率读取;

升级后架构:

Mysql 5.6 + Atlas 2.2.1 + MHA 0.58

高可用架构,读写分离环境62.11.6.156 (主)

62.11.6.157 (从----热备)

62.11.6.158 (从,master+atlas)

62.11.6.154 (VIP)

优点:自动故障转移,读写分离,从负载均衡,可平滑上下线DB,自动摘除宕机的DB

缺点:故障转移后,默认需要手动修改配置文件,启动,并且主库不会自动回跳。

客户端连接地址:mysql -uroot -pAbc_123456 -P3306 -h 62.11.6.158

部署环境

一、高可用测试:

-----------》62.11.6.156

/etc/init.d/mysqld stop 关掉主库的数据库

ip addr 查看VIP 是否消失

-----------》62.11.6.157

ip addr 查看是否获取VIP

mysql -u root -pAbc_123456 -P3307 -h 62.11.6.158 登陆从节点查看主从复制是否正常show slave status\G

两个YES 代表主从复制正常!

mysql -u root -pAbc_123456 -P 3306 -h 62.11.6.158 登陆代理地址查看读写是否正常

查询两次,确认读取是否正常,读负载是否正常!

写入数据,查看是否正常!

此时,由于备用主库原来是从库,即在atlas配置文件中是作为从库的,故当接管为主库时,这时该库既可以写入也可以读。故需要手工移除从库的读功能。(到管理界面,remove backend idx)

mysql -umha -pAbc_123456 -P2345 -h 62.11.6.158

至此,在通过代理地址端口访问,实现一写一读的临时模式。

二、故障恢复:

如果需要修复原主库,那么原主库作为新主库的从库存在。可以手工加入atlas中(add slave ip:port)

/etc/init.d/mysqld start 修复mysql ,配置主从复制

stop slave ;

reset slave ;

change master to

master_host='62.11.6.156',master_user='slave157',master_password='Abc_123456',mast er_port=3307,master_auto_position=1; (用户rep)

start slave ;

show slave status\G 检查主从是否正常!

mysql -umha -pAbc_123456 -P2345 -h 62.11.6.158 管理登陆

添加DB

add slave 62.11.6.157:3307;

select * from backends;

mysql -uroot -pAbc_123456 -P 3306 -h 62.11.6.158 代理登陆

检查读写分离是否正常,检测从负载是否正常!

数据库切换后,binlog进程会自动停止,需要手动开启

检测到vip切换需要删除主库的只读

vim /etc/masterha/f (少哪台加哪台) (因为当主库丢失配置文件中也会删除,并且检测程序也会推出,修复后需要在启动检测程序)

[server1]

hostname=62.11.6.156

port=3307

cd /etc/masterha/ && sh start.sh 最后启动MHA 高可用监听程序

ps -ef | grep perl | grep -v grep 检查MHA 进程

ps -ef | grep mysqlbinlog | grep -v grep 检查BINLOG日志进程

ps -ef | grep mysql-proxy | grep -v grep 检查Atlas 进程

读写分离测试方法:

链接两个从库

mysql -uroot -pAbc_123456 -P3307 -h 62.11.6.157 create database db157;

mysql -uroot -pAbc_123456 -P3307 -h 62.11.6.158 create database db158;

通过代理端查看

mysql -uroot -pAbc_123456 -P3306 -h 62.11.6.158

相关文档
最新文档