主从读写分离----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的关了,看能不能写入

猜你喜欢

转载自www.cnblogs.com/cxxjohnson/p/9149481.html