zoukankan      html  css  js  c++  java
  • MYSQL读写分离

    总结如下
    1.主 写 172.19.1.37
    2.从 读 172.19.1.38
    3.mysqlproxy 172.19.1.36
    4.client 172.19.1.35
    一 、主写与从读做好数据同步
    1.比如同步db->aaa
    2.比如table->new  (id int,name varchar(20));
    二、配置 mysqlproxy实现读写分离
    配置lua
    1.tar xvf lua-5.1.4.tar.gz -C /usr/src/
    2.cd /usr/src/lua-5.1.4/
    3.make linux
    4.make install
    5. export LUA_LIBS='-L/usr/local/lib/lua/5.1/ -llua -lm'
    6.export LUA_CFLAGS=" "
    配置mysqlproxy
    1.tar xvf mysql-proxy-0.8.1-linux-rhel5-x86-32bit.tar.gz -C /usr/local/
    2.cd /usr/local/
    3.mv mysql-proxy-0.8.1-linux-rhel5-x86-32bit/ mysql-proxy/
    4.cd /usr/local/mysql-proxy/
    5../bin/mysql-proxy --help-all
    6.ulimit -SHn 65535
    7../bin/mysql-proxy --admin-username=mysqlproxy --admin-password=123 --admin-lua-script=/usr/local/mysql-proxy/share/doc/mysql-proxy/admin-sql.lua --daemon --user=daemon --pid-file=/var/run/mysql-proxy.pid --log-level=info --log-file=/var/log/mysql-proxy.log --proxy-backend-addresses=172.19.1.37:3306 --proxy-read-only-backend-addresses=172.19.1.38:3306 --proxy-fix-bug-25371 --proxy-lua-script=/usr/local/mysql-proxy/share/doc/mysql-proxy/rw-splitting.lua --keepalive --max-open-files=65535 --event-threads=2 &
    8.netstat -ntlup |grep 40 ---可看到已启动 4040端口 4041端口
    测试
    1.在两台mysql上给权限
    grant all on *.* to mailto:%27bob%27@%27172.19.1.36%27 identified by '123'
    flush privileges;
    2.编写规则
    vim /usr/local/mysql-proxy/share/doc/mysql-proxy/rw-splitting.lua
    -- connection pool
    if not proxy.global.config.rwsplit then
            proxy.global.config.rwsplit = {
                    min_idle_connections = 4, --连接四个以上就会分离读操作
                    max_idle_connections = 8,
                    is_debug = false
            }
    end
    3.客户端连接mysql -h 172.19.1.36 -u bob -p123 -P 4040     --连接四个以上就会实现在不同的机器上读

    扩展
    1.主 写 172.19.1.37
    2.从 读 172.19.1.38  172.19.1.39  172.19.1.40 ......(一主多从)
    3.mysqlproxy 172.19.1.36
    proxy-read-only-backend-addresses  参数是可以写多次的,也就是在一主多从的架构情况下可以写多个只读服务器地址,他会自动在多个只读mysql服务里进行一个简单的轮循,也就是简单的读负载均衡
  • 相关阅读:
    iscroll 使用及遇到的问题
    移动端web页面如何适配
    里面的div怎么撑开外面的div让高度自适应
    JavaScript 获取当前时间戳
    css样式 浏览器的读取顺序
    mouseover和mouseenter的区别
    【转】移动端input输入placeholder垂直不居中
    一张png图片 上面有多个图标,如何用CSS准确的知道其中某个图片的坐标
    JVM05——JVM类加载机制知多少
    【Java实用工具】——使用oshi获取主机信息
  • 原文地址:https://www.cnblogs.com/bobsoft/p/2743773.html
Copyright © 2011-2022 走看看