zoukankan      html  css  js  c++  java
  • OneProxy实现mysql读写分离

    OneProxy for MySQL可以复用不同应用到后端数据库的连接,有效降低数据库的并发连接数;可以即时踢除不可用的节点,将应用请求转发到其他可用节点,保证业务服务的稳定性。 可透明地将查询语句分发到多个MySQL备库执行,用读写分离方案支持上千万的并发访问;也可以根据SQL语句中的值进行分库分表路由, 均匀分散到多个MySQL主库上,以支持每秒上百万个小事务的并发执行;可实时透明地分析流量数据,统计SQL和事务的运行时间,分析事务的结构,得到各种不同维度的实时性能报告; 还可以进行流理QoS控制,作为数据库防火墙抵挡SQL注入式攻击;根据分片的SQL并行执行,解决了大数据量下的汇总统计性能问题;跨多分片的结果集合并, 极大地简化了应用程序的开发工作量。

    第一步  下载与安装

    平民软件官网地址:  http://www.onexsoft.com

    选择下载数据库中间件,如下图:

    下载后解压到软件统一的目录后, 修改 demo.sh  oneproxy.service 中的路径。

    第二步  配置读写分离

    OneProxy的读写分离配置主要是conf文件夹中的 proxy.conf 

    [oneproxy]
    # 持久化操作,开启后将双进程互备
    keepalive                  = 1
    # 自动调整节点类型
    proxy-auto-readonly        = 1
    # 线程数
    event-threads              = 32
    # 对外显示的mysql版本
    mysql-version              = 5.6.38
    # 客户端连接的地址
    proxy-address              = 0.0.0.0:3308
    # web监控 信息展示地址
    proxy-httpserver           = 0.0.0.0:8080
    # 读写分离的模式
    # read-slave master不参与读
    # read-balance master 参与读
    proxy-group-policy         = xiaobai:read-balance
    # 设置主数据库地址
    proxy-master-addresses.1   = 10.0.0.173:3306@xiaobai
    # 设置从数据库地址
    proxy-slave-addresses.2    = 10.0.0.198:3306@xiaobai
    # 设置数据库用户地址 
    proxy-user-list.1          = root/64D8D7645E6A121DA732C9F7A12A4CBE261467BA@xiaobai
    proxy-user-list.2          = root_for_one/64D8D7645E6A121DA732C9F7A12A4CBE261467BA@one
    proxy-user-list.3          = root_for_proxy/64D8D7645E6A121DA732C9F7A12A4CBE261467BA@proxy

    用户地址可以设置多个, 每个用户针对不同的库,这样可以实现多个库的读写分离。

    需要注意的是: proxy.conf中配置的数据库密码是加密后的, 加密当前密码的方式为:

    在oneproxy的bin目录中,有个mysqlpwd命令, 通过 ./mysqlpwd xxxx 可以得到加密后的密码

    全部配置完成后,可以通过 ./oneproxy.service start 启动读写分离, 可以查看进程和端口判断是否启动成功

    第三步 测试读写分离

    将两个库的表内容设置为不一样的,在客户端上 访问 搭建oneproxy服务的3308端口,多次执行select 查看内容是否有变化

    至此,读写分离搭建成功,据官方文档说明, oneproxy还有分表分库的功能,目前我这边还用不到,等有时间了,可以好好研究研究

  • 相关阅读:
    UESTC_王之迷宫 2015 UESTC Training for Search Algorithm & String<Problem A>
    UESTC_The Most Wonderful Competition CDOJ 56
    UESTC_神秘绑架案 CDOJ 881
    MFC 自定义消息的一般过程
    MFC 如何添加自定义消息
    MFC子窗口向父窗口发送消息
    MFC子窗口和父窗口
    单链表
    C++ STL基本容器的使用
    C++ Primer 3rd 读书笔记
  • 原文地址:https://www.cnblogs.com/cheyunhua/p/9104684.html
Copyright © 2011-2022 走看看