请选择 进入手机版 | 继续访问电脑版
在线投稿 文字标题 文字标题 文字标题 文字标题 文字标题
切换皮肤
1、要实现Mysql读写分离需要用到Mysql-proxy这个软件,首先在Mysql官方网站下载好二进制包(下载过程略)
2、解压安装包到指定位置(/usr/local/),在软件bin目录下有个mysql-proxy的脚本,运行--help-all选项可以看到支持的选项
3、由于通过命令行执行需要每次手动写很多选项,较为麻烦,这里推荐通过写配置文件来进行设置
  1. vi  /etc/myproxy.cnf
  2. [mysql-proxy]
  3. plugin-dir = /usr/local/mysql-proxy/lib/mysql-proxy/plugins    #插件目录
  4. plugins = proxy,admin    #指出要使用的插件名称
  5. proxy-address = 192.168.36.10    #代理服务器本身的地址
  6. proxy-backend-addresses = 192.168.36.11:3306    #进行写操作的服务器地址和端口号,也就是Master
  7. proxy-read-only-backend-addresses = 192.168.36.12:3306    #要进行读操作的服务器地址和端口,也就是Slave
  8. proxy-read-only-backend-addresses = 192.168.36.13:3306    #同上
  9. proxy-lua-script = /usr/local/mysql-proxy/share/doc/mysql-proxy/rw-splitting.lua    #指明进行读写分离的脚本程序的路径
  10. daemon = true    #后台服务的方式启动
  11. keepalive = true    #proxy崩溃时,会自动重启
  12. user = mysql    #启动服务的用户,后续的日志文件等的所属者需要为该用户
  13. pid-file = /var/run/myproxy/myproxy.pid    #pid文件路径
  14. log-level = warning    #日志级别
  15. log-file = /var/log/myproxy/mysql-proxy.log    #日志文件路径
  16. max-open-files = 2048    #并发数,根据实际情况调整
  17. event-threads = 16    #线程数量,根据实际情况调整
  18. proxy-connect-timeout = 3    #proxy连接后端主从服务器的超时时间,秒为单位
  19. proxy-read-timeout = 120    #读超时时间
  20. proxy-write-timeout = 120    #写超时时间
  21. admin-username = proxyuser    #proxy的管理账号,可以通过mysql客户端连接到mysql中
  22. admin-password = 123456789    #proxy管理账号的密码
  23. admin-lua-script = /usr/local/mysql-proxy/lib/mysql-proxy/lua/admin.lua    #管理时所用脚本
复制代码


4、启动Mysql-proxy服务
./mysql-proxy  --defaults-file = /etc/myproxy.cnf
5、检查3306和4041端口是否正常监听,3306是Mysql端口,4041为管理端口
6、用mysql-proxy的管理账号登陆查看相关信息,因为不是一个真正的mysql终端,所以登陆后一般都进行的是一些查询操作
  1. mysql -u proxyuser -p  --port=4041   
  2. select  *  from backends;     #查询代理服务器和后端的联系情况
复制代码

34951437969741.png


回复

使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则


    Archiver|手机版|小黑屋|齐聚无忧 |网站地图

    Powered by Discuz! X3.4  © 2001-2013 Comsenz Inc.