zoukankan      html  css  js  c++  java
  • mysql的中间插件proxysql的简介和安装方式

    1、mysql实现读写分离的方式


    mysql实现读写方式有几种方式有几下几种:

    • 程序修改mysql操作,直接和数据库通信。简单快捷的读写分离和随机的方式实现的负载均衡,权限独立分配,需要开发人员协助。
    • amoeba,直接实现读写分离和负载均衡,不用修改代码,有很灵活的数据解决方案,自己分配账户,和后端数据库权限管理独立,权限处理不够灵活。
    • mysql-proxy,直接实现读写分离和负载均衡,不用修改代码,master和slave用一样的账号,效率低。
    • mycat中间件
    • proxysql中间件(推荐使用)

    2、ProxySQL简介

    proxySQL是一款可以实际用于生产环境的MySQL中间件,它有官方版和percona版两种。

    percona版是官方版的基础上修改的,虽然也是一个轻量级别产品,但性能很好(据测试,能处理千亿级的数据),功能也足够,能够满足中间件中间件所需的绝大多数功能,包括:

    • 最基本的读写分离,且方式多种
    • 可定制基于用户、基于schema、基于语句的规则对SQL语句经行路由。换句话说。规则很灵活。基于schema和与语句级规则,可以实现简单的sharding(分库分表)
    • 可以缓存查询结果。虽然ProxySQL的缓存策略比较简陋,但实现了基本的缓存功能,绝大多数时候也够用了,此外作者已经打算实现更丰富的缓存策略。
    • 监控后端节点。ProxySQL可以监控后端节点的多个指标,包括:ProxySQL和后端的心跳信息,后端节点的read-only/read-write,slave和master的数据同步延迟。

    3、ProxySQL安装


    3.1、yum的方式安装

    //配置yum源
    # cat <<EOF | tee /etc/yum.repos.d/proxysql.repo 
    [proxysql_repo] name= ProxySQL 
    baseurl=http://repo.proxysql.com/ProxySQL/proxysql-1.4.x/centos/7 
    gpgcheck=1 
    gpgkey=http://repo.proxysql.com/ProxySQL/repo_pub_key 
    EOF
    # yum -y install proxysql
    

    警告:这种安装方式wifi上不能下载,需要手机流量下载

    3.2、二进制安装

    proxyslq下载地址:https://files.cnblogs.com/files/liuzhijun666/proxysql.rar

    # rz							上传
    # rpm  -ivh proxysql-1.4.8-1-centos7.x86_64.rpm --nodeps
    # systemctl restart proxysql
    # yum install -y mariadb
    # ss -antl
    State       Recv-Q Send-Q                          Local Address:Port                                         Peer Address:Port              
    LISTEN      0      128                                         *:6032                                                    *:*                  
    LISTEN      0      128                                         *:6033                                                    *:*                  
    LISTEN      0      128                                         *:6033                                                    *:*                  
    LISTEN      0      128                                         *:6033                                                    *:*                  
    LISTEN      0      128                                         *:6033                                                    *:*                  
    LISTEN      0      128                                         *:22                                                      *:*                  
    LISTEN      0      100                                 127.0.0.1:25                                                      *:*                  
    LISTEN      0      128                                        :::22                                                     :::*                  
    LISTEN      0      100                                       ::1:25                 
    # mysql -uadmin -padmin -h127.0.0.1 -P6032				//admin为管理账号(仅限本机)
    mysql> show databases;
    +-----+---------------+-------------------------------------+
    | seq | name          | file                                |
    +-----+---------------+-------------------------------------+
    | 0   | main          |                                     |
    | 2   | disk          | /var/lib/proxysql/proxysql.db       |
    | 3   | stats         |                                     |
    | 4   | monitor       |                                     |
    | 5   | stats_history | /var/lib/proxysql/proxysql_stats.db |
    +-----+---------------+-------------------------------------+
    5 rows in set (0.01 sec)
    

    后续操作请见mysql类的内容

  • 相关阅读:
    Shell中 调用/引用/包含 另外的脚本文件的两种方法
    CentOS6.3安装MongoDB2.2 及 安装PHP的MongoDB客户端
    Linux下忘记MySQL的root密码的解决方法
    计算机图形学 椭圆的扫描转换(3)
    实现app上对csdn的文章查看,以及文章中图片的保存 (制作csdn app 完结篇)
    linux 查看并终止进程
    ios7自带的晃动效果
    HDU--1533--Going Home--KM算法
    C语言中怎么求动态数组大小
    myeclipse断点调试
  • 原文地址:https://www.cnblogs.com/liuzhijun666/p/13170574.html
Copyright © 2011-2022 走看看