设为首页 加入收藏

TOP

MySQL高可用方案MHA的部署和原理(二)
2017-05-27 17:35:45 】 浏览:389
Tags:MySQL 可用 方案 MHA 部署 原理
ocal/bin下新增以下几个文件 


三、配置SSH登录无密码验证


    1. 在manager上配置到所有Node节点的无密码验证


      # ssh-keygen


      一路按“Enter”


     # ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.244.10


     # ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.244.20


     # ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.244.30


    2. 在Master(192.168.244.10)上配置


    # ssh-keygen


    # ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.244.20


    # ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.244.30


    3. 在Candicate master(192.168.244.20)上配置     


    # ssh-keygen


    # ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.244.10


    # ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.244.30


     4. 在Slave(192.168.244.30)上配置     


    # ssh-keygen


    # ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.244.10


    # ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.244.20


四、搭建主从复制环境


     1. 在Master上执行备份


     # mysqldump --master-data=2 --single-transaction -R --triggers -A > all.sql


     其中,-R是备份存储过程,--triggers是备份触发器 -A代表全库


     2. 在Master上创建复制用户


    3. 查看备份文件all.sql中的CHANGE MASTER语句


      # head -n 30 all.sql


     4. 将备份文件复制到Candicate master和Slave上


     # scp all.sql 192.168.244.20:/root/


     # scp all.sql 192.168.244.30:/root/


     5. 在Candicate master上搭建从库


     # mysql < all.sql 


     设置复制信息


       6. 在Slave上搭建从库


       7. slave服务器设置为read only


       8. 在Master中创建监控用户


五、 配置MHA


     1. 在Monitor host(192.168.244.40)上创建MHA工作目录,并且创建相关配置文件


     # mkdir -p /etc/masterha


     # vim /etc/masterha/app1.cnf


      注意:


      1> 在编辑该文件时,后面的注释切记要去掉,MHA并不会将后面的内容识别为注释。


      2> 配置文件中设置了master_ip_failover_script和secondary_check_script两个选项,对应的文件在上面提供的百度云盘中有。 


      2. 设置relay log清除方式(在每个Slave上)


      MHA在发生切换过程中,从库在恢复的过程中,依赖于relay log的相关信息,所以我们这里要将relay log的自动清楚设置为OFF,采用手动清楚relay log的方式。


      在默认情况下,从服务器上的中继日志会在SQL线程执行完后被自动删除。但是在MHA环境中,这些中继日志在恢复其它从服务器时可能会被用到,因此需要禁用中继日志的自动清除。改为定期手动清除SQL线程应用完的中继日志。


      在ext3文件系统下,删除大的文件需要一定的时间,这样会导致严重的复制延迟,所以在Linux中,一般都是通过硬链接的方式来删除大文件。


      3. 设置定期清理relay脚本


        MHA节点中包含了purge_relay_logs脚本,它可以为relay log创建硬链接,执行set global relay_log_purge=1,等待几秒钟以便SQL线程切换到新的中继日志,再执行set global relay_log_purge=0。


        下面看看脚本的使用方法:


        # purge_relay_logs --user=monitor --password=monitor123 -disable_relay_log_purge --workdir=/tmp/


        其中,


        --user:mysql用户名


        --password:mysql用户的密码


        --host: mysqlserver地址


        --workdir:指定创建relay log的硬链接的位置,默认的是/var/tmp。由于系统不同分区创建硬链接文件会失败,故需要指定具体的硬链接的位置。


        --disa

首页 上一页 1 2 3 下一页 尾页 2/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇MySQL高可用方案MHA在线切换的步.. 下一篇将Oracle数据库改为归档模式并启..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目