Linux实战教学笔记40: Mha-Atlas-MySQL高可用方案实践(二)
发布日期:2025-04-09 02:03:35 浏览次数:10 分类:精选文章

本文共 1945 字,大约阅读时间需要 6 分钟。

MySQL高可用架构配置指南

一、主从复制基础配置

1.1 主库和从库安装

所有节点均安装了相同版本的MySQL数据库。确保以下配置:

  • 系统:CentOS6.5(6.x版本均可)
  • 数据库:MySQL5.6

1.2 配置主库

# 定义VIPVIP:192.168.0.60

1.3 配置从库

# 定义VIPVIP:192.168.0.60

二、VIP漂移配置

2.1 IP漂移方式

2.1.1 使用keepalived实现

  • keepalived配置:
    # keepalived配置文件示例global_vip=192.168.0.60enable_script=eth0preempt_priority=1

2.1.2 使用MHA脚本

  • MHA脚本配置:
    # 复制master_ip_failover脚本到/usr/local/bincp master_ip_failover /usr/local/bin/# 定义VIPVIP:192.168.0.60/24# 网卡后缀定义my $key = '0'# 绑定VIP命令my $ssh_start_vip = "/sbin/ifconfig eth0:$key $vip";my $ssh_stop_vip = "/sbin/ifconfig eth0:$key down";
  • 修改MHA配置文件:
    [server default]master_ip_failover_script=/usr/local/bin/master_ip_failover...
  • 修改源脚本:
    sed -n '34,37p' /usr/local/bin/master_ip_failover

2.2 脚本验证

  • 停止mysql-db01服务:
    /etc/init.d/mysqld stop
  • 查看网络状态:
    ifconfig
  • 启动mysql-db02服务:
    /etc/init.d/mysqld start
  • 查看主从同步状态:
    mysql -uroot -p123123 -e 'show slave status\G'

三、Binlog-Server备份服务器

3.1 配置MHA

  • 修改MHA配置文件:
    [binlog1]no_master=1hostname=192.168.0.53master_binlog_dir=/data/mysql/binlog/
  • 拉取主库日志:
    mysqlbinlog -R --host=192.168.0.52 --port=3306 --user=mha --password=123123 --raw --stop-never mysql-bin.000001

3.2 启动MHA管理进程

nohup masterha_manager --conf=/etc/mha/mha1.cnf --remove_dead_master_conf --ignore_last_failover >/dev/null 2>&1 &

四、MySQL中间件Atlas

4.1 Atlas简介

Atlas是基于MySQL协议的开源数据中间件,支持读写分离、负载均衡等高级功能。

4.2 Atlas配置

  • 修改配置文件:
    proxy-backend-addresses = 192.168.0.60:3307proxy-read-only-backend-addresses = 192.168.0.51:3307@1,192.168.0.53:3307@1
  • 修改数据库服务端口:
    sed -n '13p' /etc/my.cnf
  • 启动Atlas服务:
    /usr/local/mysql-proxy/bin/mysql-proxyd start

4.3 常用命令

  • 查看后端状态:
    mysql -uuser -ppwd -P1234 -h 192.168.0.53
  • 添加从库:
    ADD SLAVE 127.0.0.1:3306

五、读写分离及负载均衡测试

  • 创建本地数据库:
    mysql -uroot -p123123 -P3307 -e 'create database db01; create database db03;'
  • 写入测试数据:
    mysql -uroot -p123123 -h 192.168.0.53 -e 'insert into test20170910 values (123);'
  • 验证数据分布:
    mysql -uroot -p123123 -h 192.168.0.52 -e 'show databases; show tables;'

通过以上配置和验证,可以实现MySQL高可用架构,确保数据库的稳定性和可用性。

上一篇:linux实用命令详解(新建删除复制文件夹,挂载) 转
下一篇:linux定时器设置

发表评论

最新留言

感谢大佬
[***.8.128.20]2025年05月14日 21时57分35秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章