mysql proxy搭建_搭建mysqlproxy的过程

本文档详述了MySQL Proxy的安装过程,包括检查依赖、安装、单独下载lua、安装my-proxy、配置读写分离脚本及启动、测试验证等步骤,旨在实现数据库的读写分离与高效管理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

搭建mysql-proxy的详细步骤

第一步:检测是否安装

通过 rpm -qa | grep name(gcc) 的方式验证以下软件包是否已全部安装。

gcc* gcc-c++* autoconf* automake* zlib* libxml* ncurses-devel* libmcrypt* libtool* flex* pkgconfig*

libevent* glib* lua*

第二步:安装(第一步检测如果有就省略此步骤)

yum -y install gcc* gcc-c++* autoconf* automake* zlib* libxml* ncurses-devel* libmcrypt* libtool* flex* pkgconfig*

libevent* glib* lua*

第三步:单独下载lua

cd  /data/software

wget  http://www.lua.org/ftp/lua-5.1.4.tar.gz

tar zxvf lua-5.1.4.tar.gz

cd lua-5.1.4 /usr/local/

编译安装lua

cd lua-5.1.4

vim src/Makefile

在 CFLAGS= -O2 -Wall $(MYCFLAGS) 这一行记录里加上-fPIC,更改为 CFLAGS= -O2 -Wall -fPIC $(MYCFLAGS) 来避免编译过程中出现错误。

make linux

make install

(在搭建过程中如何还是出现问题,请下载

yum install -y readline-devel ncurses-devel

目前我也是不很清楚为何缺少这个,执行完,继续

make linux && make install

参考http://tieba.baidu.com/p/2188398593

)

添加环境变量

export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/lib/pkgconfig

http://m.blog.itpub.net/637517/viewspace-1766825/

第四步:安装my-proxy

(挂载/data目录)

查看linux版本

cat /proc/version

cd  /data/software

(从官网上下载与服务器版本一致的二进制文件)

解压:

tar -zxvf mysql-proxy-0.8.5-linux-el6-x86-64bit.tar.gz

mv mysql-proxy-0.85-linux-el6-x86-64bit  /usr/local/

cd /usr/local/mysql-proxy

创建mysql-proxy服务管理脚本文件

vim mysql-proxy

#!/bin/sh

#

# mysql-proxy This script starts and stops the mysql-proxy daemon

#

# chkconfig: - 78 30

# processname: mysql-proxy

# description: mysql-proxy is a proxy daemon to mysql

# Source function library.

. /etc/rc.d/init.d/functions

#PROXY_PATH=/usr/local/bin

PROXY_PATH=/usr/local/mysql-proxy/bin

prog="mysql-proxy"

# Source networking configuration.

. /etc/sysconfig/network

# Check that networking is up.

[ ${NETWORKING} = "no" ] && exit 0

# Set default mysql-proxy configuration.

#PROXY_OPTIONS="--daemon"

#自己数据库的地址

PROXY_OPTIONS="--proxy-backend-addresses=192.168.1.1:3306

#自己数据库的地址

--proxy-read-only-backend-addresses=192.168.1.2:3306 --proxy-lua-script=/usr/local/mysql-proxy/share/doc/mysql-proxy/rw-splitting.lua"

PROXY_PID=/usr/local/mysql-proxy/run/mysql-proxy.pid

# Source mysql-proxy configuration.

if [ -f /etc/sysconfig/mysql-proxy ]; then

. /etc/sysconfig/mysql-proxy

fi

PATH=$PATH:/usr/bin:/usr/local/bin:$PROXY_PATH

# By default it's all good

RETVAL=0

# See how we were called.

case "$1" in

start)

# Start daemon.

echo -n $"Starting $prog: "

$NICELEVEL $PROXY_PATH/mysql-proxy $PROXY_OPTIONS --daemon --pid-file=$PROXY_PID --user=mysql --log-level=debug --log-file=/usr/local/mysql-proxy/log/mysql-proxy.log

RETVAL=$?

echo

if [ $RETVAL = 0 ]; then

touch /var/lock/subsys/mysql-proxy

fi

;;

stop)

# Stop daemons.

echo -n $"Stopping $prog: "

killproc $prog

RETVAL=$?

echo

if [ $RETVAL = 0 ]; then

rm -f /var/lock/subsys/mysql-proxy

rm -f $PROXY_PID

fi

;;

restart)

$0 stop

sleep 3

$0 start

;;

condrestart)

[ -e /var/lock/subsys/mysql-proxy ] && $0 restart

;;

status)

status mysql-proxy

RETVAL=$?

;;

*)

echo "Usage: $0 {start|stop|restart|status|condrestart}"

RETVAL=1

;;

esac

exit $RETVAL

配置详情参考http://m.blog.itpub.net/637517/viewspace-1766825/

创建 mkdir init.d

cp mysql-proxy init.d/

chmod +x mysql-proxy

mkdir  /usr/local/mysql-proxy/run

mkdir  /usr/local/mysql-proxy/log

mkdir  /usr/local/mysql-proxy/scripts

第五步:配置并使用rw-splitting.lua读写分离脚本

vim  /usr/local/mysql-proxy/share/doc/mysl-proxy/rw-splitting.lua

-- connection pool

if not proxy.global.config.rwsplit then

proxy.global.config.rwsplit = {

min_idle_connections = 1, //默认为4

max_idle_connections = 2, //默认为8

is_debug = false

}

end

第六步:启动mysql-proxy

/usr/local/mysql-proxy/init.d/mysql-proxy start

第七步:查看日志

tail  -f  /usr/local/mysql-proxy/log/mysql-proxy.log

显示已经启动完成。

第八步:测试验证结果

创建用于读写分离的数据库连接用户

登陆主数据库服务器:192.168.1.1

mysql> GRANT ALL ON *.* TO 'proxy1'@'proxy服务器' IDENTIFIED BY‘111111';

由于我们配置了主从复制功能,因此从数据库服务器192.168.56.103上已经同步了此操作

为了清晰的看到读写分离的效果,需要暂时关闭MySQL主从复制功能

登陆从数据库服务器192.168.1.2

关闭Slave同步进程

mysql> stop slave;

连接MySQL-Proxy

mysql -uproxy1 -p111111 -P4040 -h192.168.1.3

查看自己数据库数据

参考资料

http://m.blog.itpub.net/637517/viewspace-1766825/

http://blog..net/e421083458/article/details/19697701

http://blog..net/heizistudio/article/details/26457225

http://www.iyunv.com/thread-8775-1-1.html

http://blog..net/edwzhang/article/details/8475624

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值