基本信息
DBProxy是美团点评开发和维护的基于Mysql协议的数据中间件,在Atlas基础上做了修改。
提供的主要功能有:1
- 读写分离
- 从库负载均衡
- IP过滤
- 分表
- DBA平滑上下线DB
- 自动摘除宕机DB
- 监控信息完备
- SQL过滤
- 从库流量配置
部署架构
安装
- 安装依赖
yum install -y Percona-Server-devel-55.x86_64 Percona-Server-client-55.x86_64 Percona-Server-shared-55 jemalloc jemalloc-devel libevent libevent-devel openssl openssl-devel lua lua-devel bison flex libtool.x86_64 libffi-devel
安装glib2.4.2.0
1
2
3
4
5
6wget https://src.fedoraproject.org/repo/pkgs/mingw-glib2/glib-2.42.0.tar.xz/71af99768063ac24033ac738e2832740/glib-2.42.0.tar.xz
tar -xJvf glib-2.42.0.tar.xz
cd glib-2.42.0
autoreconf -ivf
./configure --refix=/usr/ --libdir=/usr/lib64/
make -j20 && make install安装DBProxy
1
2
3
4
5
6git clone https://github.com/Meituan-Dianping/DBProxy.git
cd DBProxy
sh autogen.sh
sh bootstrap.sh
make -j20 && make install
# DBProxy默认的安装路径/usr/local/mysql-proxy,如果需要修改,修改文件bootstrap.sh中的--pefix路径配置文件,添加开机启动
1
2
3
4#!/bin/bash
# chkconfig 23456 90 10
# description: autostart dbproxy service onboot
cd /usr/local/mysql-proxy/bin && ./mysql-proxyd dbproxy start登录管理后台
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21mysql -u dba -p -P 3309 -h 192.168.0.130
# 查看支持的命令
select * from help;
# 查看主从数据库
select * from backends;
# 添加主库,注意:在dbproxy中只能有1个主库
add master 192.168.0.101:3306
# 添加从数据库,可以设置权重
add slave 192.168.0.104:3306@2
# 从库添加|移除标签
add|remove slave tag $tag_name $backend_ndx
# 动态修改从库权重
alter slave weight $backend_ndx $weight
# 上线|下线从库id
set online|offline $backend_ndx;
# 删除从库
remove backend $backend_ndx
# 查看dbproxy中的用户
select * from pwds;
# 对dbproxy操作后需要进行保存配置
save config;