(15)Mysql_proxy读写分离

软件下载:https://downloads.mysql.com/archives/get/file/mysql-proxy-0.8.4-linux-glibc2.3-x86-64bit.tar.gz

1. 解压:tar zxvf mysql-proxy /usr/local/mysql-proxy

2. vi /etc/profile:环境变量声明 直接调用命令

                     export PATH=$PATH:/usr/local/mysql-proxy/bin/

3. 让/etc/profile 生效:source /etc/profile ---- 重新加载

4. 配置 mysql-proxy :vi mysql-proxy.sh

                      mysql-proxy --daemon --log-level=debug --user=mysql-proxy --keepalive --log-file=/var/log/mysql-proxy.log --plugins="proxy" --proxy-backend-addresses="192.168.1.14:3306" --proxy-read-only-backend-addresses="192.168.1.15:3306" --proxy-lua-script="/usr/local/mysql-proxy/share/doc/mysql-proxy/rw-splitting.lua" --plugins=admin --admin-username="admin" --admin-password="admin" --admin-lua-script="/usr/local/mysql-proxy/lib/mysql-proxy/lua/admin.lua"

注释:

          --user=mysql-proxy : 用mysql-proxy这个用户启动

          --keepalive : 保持重启

          --log-file=/var/log/mysql-proxy.log:日志文件路径

          --plugins="proxy":插件的名字 "

          --proxy-backend-addresses="192.168.1.14:3306"  : 配置主库写数据库IP

          --proxy-read-only-backend-addresses="192.168.1.15:3306"  :配置读数据库IP

          --proxy-lua-script="/usr/local/mysql-proxy/share/doc/mysql-proxy/rw-splitting.lua" : lua代理脚本的位置

          --plugins=admin  :插件的名称

          --admin-username="admin" :管理中间件的用户名

          --admin-password="admin"  :管理中间件的密码

          --admin-lua-script="/usr/local/mysql-proxy/lib/mysql-proxy/lua/admin.lua"  :lua脚本位置

5. useradd -r mysql-proxy:创建用户

6. 查看端口:netstat -tnl   4040是proxy端口 ----- 数据端,可以直接操作数据库       4041是管理端口 --- 代理端,不能操作数据库

    程序不再访问3306端口,而是访问4041端口

             mysql -h(mysql-prox服务器的IP) -uadmin -p -P 4041:登入代理服务器的管理端口

             select * from backends; ----- 查看当前,读写服务器的状态

      程序直接访问的数据端口:mysql -h(mysql-prox服务器的IP) -uroot -p -P 4040

      注意事项,主从数据库要对 mysql-proxy服务器授权

常见问题

1. 如果mysql_proxy数据端操作,没有同步数据:检查slave从库 的状态 是否 跟master bin-log保持一致,关闭slave 再与master保持标记位一致

你可能感兴趣的:((15)Mysql_proxy读写分离)