Mysql读写分离

2018-12-03  本文已影响0人  心水Diana
常见读写分离方式
MySQL Proxy下载
# 64位
wget https://downloads.mysql.com/archives/get/file/mysql-proxy-0.8.5-linux-glibc2.3-x86-64bit.tar.gz
# 32位
wget https://downloads.mysql.com/archives/get/file/mysql-proxy-0.8.5-linux-glibc2.3-x86-32bit.tar.gz

安装配置
读写分离示例图.png
tar -zxvf mysql-proxy-0.8.5-linux-glibc2.3-x86-64bit.tar.gz 

mv mysql-proxy-0.8.5-linux-glibc2.3-x86-64bit /usr/local/mysql-proxy

useradd -r mysqlproxy

vim /etc/profile
# 配置环境变量
export  PATH=$PATH:/usr/local/mysql-proxy/bin/

# master 执行
grant all on *.* to admin@'%' identified by 'admin';

启动MySQL-Proxy
mysql-proxy --daemon --log-level=debug --user=mysqlproxy --keepalive --log-file=/var/log/mysql-proxy.log --plugins="proxy" --proxy-backend-addresses="10.8.30.152:3306" --proxy-read-only-backend-addresses="10.8.30.81: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"
验证查看
netstat -tnl

Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 0.0.0.0:4040            0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:4041            0.0.0.0:*               LISTEN     
  # 4040 与4041 端口正常
  # 4040为proxy代理端口用于WEB应用连接,4041位管理端口用于SA或者DBA管理
  # 中间件运行成功

mysql -h(mysql-proxy服务器ip) -uadmin -padmin -P 4040 -e 'create database dbtest; '
在 master  slave 查看是否有被创建。

mysql -h(mysql-proxy服务器ip) -uadmin -padmin -P 4040 -e 'select host,password,user from mysql.user'

mysql  -h(mysql-proxy服务器ip)  -uadmin  -padmin  -P 4041
  进入服务端 执行
  SELECT * FROM backends;
  #state 状态为up
  #type  分别为rw ro
ipaSIK.png
参数解释
--help-all                           :获取全部帮助信息;
--proxy-address=host:port            :代理服务监听的地址和端口,默认为4040;
--admin-address=host:port            :管理模块监听的地址和端口,默认为4041;
--proxy-backend-addresses=host:port   :后端mysql服务器的地址和端口;
--proxy-read-only-backend-addresses=host:port :后端只读mysql服务器的地址和端口;
--proxy-lua-script=file_name          :完成mysql代理功能的Lua脚本;
--daemon                         :以守护进程模式启动mysql-proxy;
--keepalive                          :在mysql-proxy崩溃时尝试重启之;
--log-file=/path/to/log_file_name        :日志文件名称;
--log-level=level                    :日志级别;
--log-use-syslog                     :基于syslog记录日志;
--plugins=plugin                     :在mysql-proxy启动时加载的插件;
--user=user_name                 :运行mysql-proxy进程的用户;
--defaults-file=/path/to/conf_file_name :默认使用的配置文件路径,其配置段使用[mysql-proxy]标识;
--proxy-skip-profiling               :禁用profile;
--pid-file=/path/to/pid_file_name        :进程文件名;

上一篇下一篇

猜你喜欢

热点阅读