Linuxmysql-proxy负载均衡
Linux mysql-proxy负载均衡
环境:centos6.0 64位,
主要步骤:
1,搭建Master-Slaver的主从mysql数据库集群
2,安装mysql-proxy的依赖软件:gcc,glib2,readline,lua
3, 安装和配置mysql-proxy
4,测试准备
4,实际测试。
步骤1:搭建mysql的master-slaver的主从数据库集群
该方法网上和我的其他几篇文章中有介绍。
步骤2:安装mysql的依赖软件。
1,安装编译所需要的依赖包
yum -yinstall gcc gcc-c++ autoconf libevent-devel pkgconfig libtool mysql-devel makencurses ncurses-devel
2,编译安装glib2
cd
wget
tar -xzvf glib-2.18.4.tar.gz
cd glib-2.18.4
./configure --prefix=/usr/local/glib-2.18.4
make
make install
3,编译安装readline
cd
wget ftp://ftp.cwru.edu/pub/bash/readline-6.2.tar.gz
tar -xzvf readline-6.2.tar.gz
cd readline-6.2
./configure
make
make install
4,安装ncurses(这一步很重要,不安装的话,第5步可能会出错)
yum install ncurses-devel
5,编译安装lua
cd
wget
tar -xzvf lua-5.1.4.tar.gz
cd lua-5.1.4
#指定安装位置
sed -i 's#^INSTALL_TOP=.*#INSTALL_TOP=/usr/local/lua-5.1.4#gi' ./Makefile
#如果系统为64位请执行下面这条命令
#sed -i 's#^CFLAGS=.*#CFLAGS= -O2 -fPIC -Wall$(MYCFLAGS)#gi' ./src/Makefile
make linux
make install
mkdir /usr/local/lua-5.1.4/lib/pkgconfig
cp ./etc/lua.pc /usr/local/lua-5.1.4/lib/pkgconfig
sed -i 's#^prefix=.*#prefix= /usr/local/lua-5.1.4#gi'/usr/local/lua-5.1.4/lib/pkgconfig/lua.pc
步骤3:编译安装mysql-proxy
cd
wgetMySQL-Proxy/mysql-proxy-0.8.3.tar.gz
tar -xzvf mysql-proxy-0.8.3.tar.gz
cd mysql-proxy-0.8.3
exportPKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/glib-2.18.4/lib/pkgconfig:/usr/local/lua-5.1.4/lib/pkgconfig
./configure --prefix=/usr/local/mysql-proxy-0.8.3
make
make install
mkdir/usr/local/mysql-proxy-0.8.3/lib/mysql-proxy/lua/new
cp ./lib/rw-splitting.lua/usr/local/mysql-proxy-0.8.3/lib/mysql-proxy/lua/new
cp ./lib/admin-sql.lua/usr/local/mysql-proxy-0.8.3/lib/mysql-proxy/lua/new
mkdir /usr/local/mysql-proxy-0.8.3/etc
mkdir /usr/local/mysql-proxy-0.8.3/logs
验证安装成功:
/usr/local/mysql-proxy-0.8.3/bin/mysql-proxy --help
步骤4:测试准备。
192.168.1.209:3306作为代理的机器
192.168.1.207:3306作为主数据库服务的机器
192.168.1.208:3306 作为从数据库服务器的机器
1,209的配置:可以放在/etc/my.cnf中
[mysql-proxy]
admin-username=root
admin-password=123456
admin-lua-script=/usr/local/mysql-proxy-0.8.3/lib/mysql-proxy/lua/admin.lua
proxy-read-only-backend-addresses=192.168.1.208:3306
proxy-backend-addresses=192.168.1.207:3306
proxy-lua-script=/usr/local/mysql-proxy-0.8.3/lib/mysql-proxy/lua/new/rw-splitting.lua
log-file=/var/log/mysql-proxy.log
log-level=debug
#daemon=true
keepalive=true
截图如下:

2,给用户授权。
在Master/Slave建立一个测试用户,因为以后客户端发送的SQL都是通过mysql-proxy服务器来转发,所以要确保可以从mysql-proxy服务器上登录MySQL主从库,分别在主和从MySQL机器上执行如下所示:
1. mysql> grant all privileges on *.* to 'test'@'192.168.1.207' identified by 'test' with grant option;
2. mysql> grant all privileges on *.* to 'test'@'192.168.1.208' identified by 'test' with grant option;
3,为了能够看到读写分发,我们可以修改rw-splitting.lua脚本。
if not proxy.global.config.rwsplit then proxy.global.config.rwsplit = { min_idle_connections = 1, max_idle_connections = 2, is_debug = false } end4,为了能够看到每个数据库的执行记录,我们可以对数据库(207,208)中的每条执行语句加上日志。
在my.cnf中加上下面的语句:
log=/var/lib/mysql/mysql.log
截图如下:

步骤5:测试
1,在209上执行下面的语句
/usr/local/mysql-proxy-0.8.3/bin/mysql-proxy-P 192.168.1.209:3306 --defaults-file=/etc/my.cnf
查看209上的日志如下图,可以看到代理启动成功了。

2,在207,208上分别打开日志查看;
此时通过数据库客户端连接209,在上面新建表,向表中插入数据,查询数据,通过日志可以看到查询是在208上执行的,其他的操作是在207上执行的。
208截图:

207截图:

3,到现在为止可以看到mysql的代理功能完成了。
相关热词:
本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供用于网络技术学习参考,学习中请遵循相关法律法规!
本文地址: https://v30.fanwenzhu.com/server/equal/12198.shtml
相关文章
热门TAG
win10 ecshop 主机 阿里云 解决 配置 C# C++ 解析 SQL语句 命令 Go语言 方法 CSS3 HTML5 CSS win7 MSSQL 服务器配置 IIS7.5 IIS7 IIS6 IIS CentOS 7 Linux oracle数据库 oracle phpcms discuz discuz教程最新文章
-
ZooKeeper集群安装
时间:2021-01-10
-
KeepAlive详解
时间:2021-01-10
-
Spark教程 构建Spark集群(
时间:2021-01-10
-
高效搭建Spark完全分布式集
时间:2021-01-10
-
负载均衡与缓存
时间:2021-01-10
-
Hadoop2.2.0NNHA详细配置+Cli
时间:2021-01-10
-
Mongodb集群搭建过程及常见
时间:2021-01-09
-
DRBD+HeartBeat架构实验
时间:2021-01-09
热门文章
-
Nagios监控生产环境redis集群服务实战
时间:2021-01-08
-
Spark教程 构建Spark集群(1)
时间:2021-01-10
-
SqlServer横向扩展负载均衡终极利器SqlSer
时间:2021-01-08
-
Kafka集群安装
时间:2021-01-09
-
WAS集群系列(13):举例WAS集群下ear包部
时间:2021-01-08
-
Memcached基础知识
时间:2021-01-08
-
KeepAlive详解
时间:2021-01-10
-
WAS集群系列(12):集群搭建:步骤10:通
时间:2021-01-08
-
Cloudera Manager 4.6 安装部署hadoop CDH集群
时间:2021-01-09
-
DRBD+HeartBeat架构实验
时间:2021-01-09
