负载均衡

推荐列表 站点导航

当前位置:首页 > 服务器技术 > 负载均衡 >

Linuxmysql-proxy负载均衡

来源:互联网  作者:网友投稿  发布时间:2021-01-09 16:52
Linuxmysql-proxy负载均衡环境:centos6 064位,主要步骤:1,搭建Master-Slaver的主从mysql数据库集群2,安装mysql-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

截图如下:

Linuxmysql-proxy负载均衡

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 } end

4,为了能够看到每个数据库的执行记录,我们可以对数据库(207,208)中的每条执行语句加上日志。

在my.cnf中加上下面的语句:

log=/var/lib/mysql/mysql.log

截图如下:

Linuxmysql-proxy负载均衡

步骤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上的日志如下图,可以看到代理启动成功了。

Linuxmysql-proxy负载均衡

2,在207,208上分别打开日志查看;

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

208截图:

Linuxmysql-proxy负载均衡


207截图:

Linuxmysql-proxy负载均衡


3,到现在为止可以看到mysql的代理功能完成了。

相关热词:

本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供用于网络技术学习参考,学习中请遵循相关法律法规!

本文地址: https://v30.fanwenzhu.com/server/equal/12198.shtml

相关文章
最新文章
ZooKeeper集群安装 ZooKeeper集群安装

时间:2021-01-10

KeepAlive详解 KeepAlive详解

时间:2021-01-10

Spark教程 构建Spark集群( Spark教程 构建Spark集群(

时间:2021-01-10

高效搭建Spark完全分布式集 高效搭建Spark完全分布式集

时间:2021-01-10

负载均衡与缓存 负载均衡与缓存

时间:2021-01-10

Hadoop2.2.0NNHA详细配置+Cli Hadoop2.2.0NNHA详细配置+Cli

时间:2021-01-10

Mongodb集群搭建过程及常见 Mongodb集群搭建过程及常见

时间:2021-01-09

DRBD+HeartBeat架构实验 DRBD+HeartBeat架构实验

时间:2021-01-09

Copyright © www.juheyunku.com      关于 | 合作 | 声明 | 联系 | 更新 | 地图 | Tags

Linuxmysql-proxy负载均衡

2021-01-09 编辑:网友投稿

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

截图如下:

Linuxmysql-proxy负载均衡

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 } end

4,为了能够看到每个数据库的执行记录,我们可以对数据库(207,208)中的每条执行语句加上日志。

在my.cnf中加上下面的语句:

log=/var/lib/mysql/mysql.log

截图如下:

Linuxmysql-proxy负载均衡

步骤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上的日志如下图,可以看到代理启动成功了。

Linuxmysql-proxy负载均衡

2,在207,208上分别打开日志查看;

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

208截图:

Linuxmysql-proxy负载均衡


207截图:

Linuxmysql-proxy负载均衡


3,到现在为止可以看到mysql的代理功能完成了。

本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供学习参考!
本文地址为 https://v30.fanwenzhu.com/server/equal/12198.shtml

相关文章

风云图片

推荐阅读

返回负载均衡频道首页