• 【MySQL集群二】使用MyCat和ProxySql代理MySQL集群


    MyCat

    在这里插入图片描述

    安装MyCat

    介绍:

    Mycat是一个开源的数据库中间件,用于提供高可用性、负载均衡和分片能力。

    步骤1:安装Java环境

    首先,您需要在服务器上安装Java环境。打开终端,运行以下命令:

    sudo yum install java-1.8.0-openjdk-devel
    
    • 1

    步骤2:下载并解压Mycat

    1. 在Mycat官方网站下载最新版本的Mycat压缩包,网址:Mycat官方网站或直接在服务器上使用wget命令下载:
    # 下载Mycat压缩包
    wget http://dl.mycat.org.cn/2.0/install-template/mycat2-install-template-1.21.zip
    
    • 1
    • 2
    1. 在终端中进入您下载的目录,运行以下命令解压文件:
    tar -zxvf mycat2-install-template-1.21.zip
    
    • 1

    在使用tar解压时可能会出现下面错误,是因为文件中包含了多个压缩包:
    在这里插入图片描述
    解决方法:使用 unzipp7zip 解压。

    unzip mycat2-install-template-1.21.zip
    
    • 1

    步骤3:配置Mycat

    1. 进入解压后的Mycat目录:
    cd mycat/lib/
    
    • 1
    1. 下载依赖包或把下载好的依赖包复制到目录下:
    # 直接下载依赖包
    wget http://dl.mycat.org.cn/2.0/1.21-release/mycat2-1.21-release-jar-with-dependencies.jar
    # 复制
    cp mycat2-1.21-release-jar-with-dependencies.jar mycat/lib/
    
    • 1
    • 2
    • 3
    • 4
    1. 编辑 conf 目录下的 server.xml 配置文件:
    vim mycat/conf/datasources/prototypeDs.datasource.json
    
    • 1
    1. 将mysql连接配置成master数据库,需要修改的只有urluserpassword
    {
            "dbType":"mysql",
            "idleTimeout":60000,
            "initSqls":[],
            "initSqlsGetConnection":true,
            "instanceType":"READ_WRITE",
            "maxCon":1000,
            "maxConnectTimeout":3000,
            "maxRetryCount":5,
            "minCon":1,
            "name":"prototypeDs",
            "password":"Ddz@5201413",
            "type":"JDBC",
            "url":"jdbc:mysql://114.132.156.12:3306/ddz_test?useUnicode=true&serverTimezone=Asia/Shanghai&characterEncoding=UTF-8",
            "user":"root",
            "weight":0
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    输入:wq!保存退出。

    步骤4:启动Mycat

    1. mycat/bin/ 目录下使用以下命令启动Mycat服务器:
    sh mycat start
    
    • 1

    可能会出现启动失败的情况:
    在这里插入图片描述
    原因是wrapper-linux-x86-64和wrapper-linux-x86-32这两个文件权限设置不正确。

    # 查看文件权限
    ls -l /home/mycat/bin/./wrapper-linux-x86-64  
    ls -l /home/mycat/bin/./wrapper-linux-x86-32
    # 设置文件权限
    chmod +x /home/mycat/bin/./wrapper-linux-x86-64  
    chmod +x /home/mycat/bin/./wrapper-linux-x86-32
    或给/bin文件赋权限
    chmod -R 777 bin/
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    设置完后进入mycat/bin/目录执行启动命令:

    cd mycat/bin/
    ./mycat start
    
    • 1
    • 2
    1. 确认Mycat顺利启动后,使用以下命令查看Myat进程是否正在运行:
    ps -ef | grep mycat
    
    • 1

    在这里插入图片描述

    步骤5:连接并测试Mycat

    1. 使用MySQL客户端连接到Mycat服务器,示例:
    mysql -h114.132.156.12 -P8066 -uroot -p
    
    • 1
    1. 输入密码后成功连接到Myat服务器,可以执行SQL语句进行测试。

    结论:
    通过按照以上步骤,在CentOS 7上成功安装和配置Mycat,并能够连接并测试Mycat服务器。这将为您的数据库管理提供高可用性、负载均衡和分片能力,提高数据库的效率和性能。

    ProxySql

    安装ProxySql

    介绍:

    ProxySQL是一个高性能的MySQL代理服务器,用于负载均衡、故障转移和查询过滤。在本篇博客中,我们将讲解如何在CentOS 7.9上安装和配置ProxySQL。

    步骤1:更新系统

    首先,使用以下命令更新系统上的所有软件包:

    sudo yum update
    
    • 1

    步骤2:安装ProxySQL

    添加ProxySQL的软件仓库:

    sudo yum install -y https://github.com/sysown/proxysql/releases/download/v2.5.0/proxysql-2.5.0-1-centos7.x86_64.rpm
    
    • 1

    安装proxysql软件包:

    sudo yum install proxysql
    
    • 1

    步骤3:配置ProxySQL

    编辑ProxySQL配置文件:

    sudo vi /etc/proxysql/proxysql.cnf
    
    • 1

    mysql_servers节中添加MySQL后端的详细信息:

    mysql_servers =
    (
        { 
            address = '127.0.0.1', 
            port = 3306, 
            hostgroup = 10, 
            max_connections = 100, 
            max_replication_lag = 5, 
            use_ssl = 0 
        }
    )
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    步骤4:启动ProxySQL

    启动ProxySQL服务:

    sudo systemctl start proxysql
    sudo systemctl enable proxysql
    
    • 1
    • 2

    步骤5:使用ProxySQL

    连接到ProxySQL管理员命令行界面:

    mysql -u admin -p -h 127.0.0.1 -P 6032 --prompt='ProxySQLAdmin>'
    
    • 1

    在ProxySQL管理员命令行界面上配置用户、主机和端口映射:

    INSERT INTO mysql_users (username, password, default_hostgroup) VALUES ('user', 'password', 10);
    LOAD MYSQL USERS TO RUNTIME;
    SAVE MYSQL USERS TO DISK;
    INSERT INTO mysql_servers (hostgroup_id, hostname, port) VALUES (10, '127.0.0.1', 3306);
    LOAD MYSQL SERVERS TO RUNTIME;
    SAVE MYSQL SERVERS TO DISK;
    INSERT INTO mysql_query_rules (active, match_pattern, destination_hostgroup) VALUES (1, '^SELECT.*', 10);
    LOAD MYSQL QUERY RULES TO RUNTIME;
    SAVE MYSQL QUERY RULES TO DISK;
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    现在,您可以使用ProxySQL代理MySQL查询了。

    结论:
    在CentOS 7.9上安装ProxySQL代理MySQL是一个简单的过程,只需按照本文的步骤进行操作即可。使用ProxySQL可以提高MySQL服务器的负载均衡和故障转移能力,同时还能对查询进行过滤和重定向。

  • 相关阅读:
    使用realsense D435i实现机械臂对物体的自动抓取总结
    【C++ • STL】探究string的源码
    python实现驾考自动答题,100分简直不要太简单.....
    Unity MRTK Hololens2眼动交互
    C++游戏设计教程(1)—— 随机数
    亚马逊卖家自己掌握测评养号技术的重要性
    金蝶云星空与旺店通·旗舰奇门对接集成收料通知单查询连通新增采购订单(金蝶收料通知单-旺店通采购订单开单)
    Javaweb-JSP详解Toretto
    jetson 裁剪之后从sd卡版本移植到emmc版本
    【C语言】通讯录管理系统(保姆级教程+内含源码)
  • 原文地址:https://blog.csdn.net/weixin_45626288/article/details/133002454