主从读写分离----mysql-proxy0.8.5安装与配置
Posted 求知若渴 虚心若愚
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了主从读写分离----mysql-proxy0.8.5安装与配置相关的知识,希望对你有一定的参考价值。
废话不多说,直接开干:
1、安装环境:
yum -y install libevent glib2 lua gcc gcc-c++ autoconf mysql-devel libtool pkgconfig ncurses ncurses-devel libevent-devel
2、下载文件:
wget ftp://mysql.cdpa.nsysu.edu.tw/Unix/Database/MySQL/Downloads/MySQL-Proxy/mysql-proxy-0.8.5.tar.gz
3、编译安装:
tar zxvf mysql-proxy-0.8.5.tar.gz
cd mysql-proxy-0.8.5
./configure --prefix=/home/mysql-proxy/
make
make install
mkdir /home/mysql-proxy/logs
mkdir /home/mysql-proxy/lua
cp lib/admin-sql.lua /home/mysql-proxy/lua
cp lib/rw-splitting.lua /home/mysql-proxy/lua
cp -r lib/proxy /home/mysql-proxy/
4、编辑配置文件:
vi /etc/mysql-proxy.cnf #创建配置文件
[mysql-proxy]
user=root #运行mysql-proxy用户
admin-username=proxy #主从mysql共有的用户
admin-password=123.com #用户的密码
proxy-address=10.10.10.49:4000 #mysql-proxy运行ip和端口,不加端口,默认4040
proxy-read-only-backend-addresses=10.10.10.50:3306 #指定后端从slave读取数据
proxy-backend-addresses=10.10.10.51:3306 #指定后端主master写入数据
proxy-lua-script=/usr/local/mysql-proxy/lua/rw-splitting.lua #指定读写分离配置文件位置
admin-lua-script=/usr/local/mysql-proxy/lua/admin-sql.lua #指定管理脚本
log-file=/usr/local/mysql-proxy/logs/mysql-proxy.log #日志位置
log-level=info #定义log日志级别,由高到低分别有(error|warning|info|message|debug)
daemon=true #以守护进程方式运行
keepalive=true #mysql-proxy崩溃时,尝试重启
保存退出!
chmod 660 /etc/mysql-porxy.cnf
5、修改rw-splitting.lua文件
vi /usr/local/mysql-proxy/lua/rw-splitting.lua
if not proxy.global.config.rwsplit then
proxy.global.config.rwsplit = {
min_idle_connections = 1, #默认超过4个连接数时,才开始读写分离,改为1
max_idle_connections = 1, #默认8,改为1
is_debug = false
}
end
6、启动:
/home/mysql-proxy/bin/mysql-proxy --defaults-config=/etc/mysql-proxy.cnf
查看进程:
netstat -tupln | grep 4000 #已经启动
tcp 0 0 10.10.10.49:4000 0.0.0.0:* LISTEN 1264/mysql-proxy
关闭mysql-proxy使用:killall -9 mysql-proxy
7、在主库上进行权限分配:
grant all on *.* to ‘proxy‘@‘10.10.10.49‘ identified by ‘123456‘;
8、测试(请配置防火墙开放4000端口):
mysql -u proxy -h 10.10.10.49 -P 4000 -p123456
创建数据库和表,这时的数据只写入主mysql,然后再同步从slave,可以先把slave的关了,看能不能写入
以上是关于主从读写分离----mysql-proxy0.8.5安装与配置的主要内容,如果未能解决你的问题,请参考以下文章