博客
关于我
Linux实战教学笔记40: Mha-Atlas-MySQL高可用方案实践(二)
阅读量:794 次
发布时间:2023-02-04

本文共 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高可用架构,确保数据库的稳定性和可用性。

转载地址:http://gkkfk.baihongyu.com/

你可能感兴趣的文章
Linux工作笔记032---Centos7.3/8.2 下安装mysql_不局限于MySql版本
查看>>
Linux工作笔记033---Linux(CentOS7)安装zip、unzip命令
查看>>
Linux工作笔记034---linux tail命令详解_linux在vi中查找字符串
查看>>
Linux工作笔记035---linux内网测试访问外网网速_外网测试访问内网网速
查看>>
Linux工作笔记035---设置连接Linux Centos 超时连接时间_空闲的等待时间 -bash: TMOUT: readonly variable
查看>>
Linux工作笔记036---Centos下查看cpu、磁盘、内存使用情况以及如何清理内存
查看>>
Linux工作笔记037---Centos8.2下安装mysql_测试通过_注意这里安装8.0.22版本的_8.0以后的版本有需要注意的地方_跟7.0之前的版本不一样
查看>>
Linux工作笔记037---Centos下Linux创建用户_用户组_删除用户
查看>>
Linux工作笔记038---CentOS8.2安装Nginx_测试通过
查看>>
Linux工作笔记038---Centos下Linux下解决root用户Operation not permitted
查看>>
Linux工作笔记039---CentOS8.2卸载mysql
查看>>
Linux工作笔记040---Centos8.2安装mysql5.7.18_已经测试成功
查看>>
Linux带给了我什么?
查看>>
Linux常用vi命令
查看>>
linux常用信号列表
查看>>
linux常用压缩解压命令(tar,zip)
查看>>
Linux常用命令
查看>>
Linux常用命令
查看>>
Linux常用命令
查看>>
Linux常用命令
查看>>