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

  • 相关阅读:
    【转】php中XML、XSLT的结合运用
    【转】PHP 5.3 5.4 5.5 5.6特性
    Go语言的编程范式
    Appcelerator Titanium Studio: JNI_CreateJavaVM missing error
    良好Web系统架构的几个因素
    决定去掉博客中附加的多说评论
    用PHP实现Windows域验证
    Netbeans 8.0.1 坑爹请不要升级
    教程:30分钟学会Adobe Premiere
    完美:adobe premiere cs6破解版下载[序列号+汉化包+破解补丁+破解教程]
  • 原文地址:https://www.cnblogs.com/cxxjohnson/p/9149481.html
Copyright © 2020-2023  润新知