Mysql架构升级方案升级前架构:Mysql5.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.机器进行读写,不适合高频率读取;升级后架构:Mysql5.6+Atlas2.2.1+MHA0.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-h62.11.6.158部署环境一、高可用测试:-----------》62.11.6.156/etc/init.d/mysqldstop关掉主库的数据库ipaddr查看VIP是否消失-----------》62.11.6.157ipaddr查看是否获取VIPmysql-uroot-pAbc_123456-P3307-h62.11.6.158登陆从节点查看主从复制是否正常showslavestatus\G两个YES代表主从复制正常!mysql-uroot-pAbc_123456-P3306-h62.11.6.158登陆代理地址查看读写是否正常查询两次,确认读取是否正常,读负载是否正常!写入数据,查看是否正常!此时,由于备用主库原来是从库,即在atlas配置文件中是作为从库的,故当接管为主库时,这时该库既可以写入也可以读。故需要手工移除从库的读功能。(到管理界面,removebackendidx)mysql-umha-pAbc_123456-P2345-h62.11.6.158至此,在通过代理地址端口访问,实现一写一读的临时模式。二、故障恢复:如果需要修复原主库,那么原主库作为新主库的从库存在。可以手工加入atlas中(addslaveip:port)/etc/init.d/mysqldstart修复mysql,配置主从复制stopslave;resetslave;changemastertomaster_host='62.11.6.156',master_user='slave157',master_password='Abc_123456',master_port=3307,master_auto_position=1;(用户rep)startslave;showslavestatus\G检查主从是否正常!mysql-umha-pAbc_123456-P2345-h62.11.6.158管理登陆添加DBaddslave62.11.6.157:3307;select*frombackends;mysql-uroot-pAbc_123456-P3306-h62.11.6.158代理登陆检查读写分离是否正常,检测从负载是否正常!数据库切换后,binlog进程会自动停止,需要手动开启检测到vip切换需要删除主库的只读vim/etc/masterha/app1.cnf(少哪台加哪台)(因为当主库丢失配置文件中也会删除,并且检测程序也会推出,修复后需要在启动检测程序)[server1]hostname=62.11.6.156port=3307cd/etc/masterha/&&shstart.sh最后启动MHA高可用监听程序ps-ef|grepperl|grep-vgrep检查MHA进程ps-ef|grepmysqlbinlog|grep-vgrep检查BINLOG日志进程ps-ef|grepmysql-proxy|grep-vgrep检查Atlas进程读写分离测试方法:链接两个从库mysql-uroot-pAbc_123456-P3307-h62.11.6.157createdatabasedb157;mysql-uroot-pAbc_123456-P3307-h62.11.6.158createdatabasedb158;通过代理端查看mysql-uroot-pAbc_123456-P3306-h62.11.6.158