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

news2024/11/25 4:55:14

中间件代理MySQL

  • MyCat
    • 安装MyCat
      • 介绍:
      • 步骤1:安装Java环境
      • 步骤2:下载并解压Mycat
      • 步骤3:配置Mycat
      • 步骤4:启动Mycat
  • ProxySql
    • 安装ProxySql
      • 介绍:
      • 步骤1:更新系统
      • 步骤2:安装ProxySQL
      • 步骤3:配置ProxySQL
      • 步骤4:启动ProxySQL
      • 步骤5:使用ProxySQL

MyCat

在这里插入图片描述

安装MyCat

介绍:

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

步骤1:安装Java环境

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

sudo yum install java-1.8.0-openjdk-devel

步骤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. 在终端中进入您下载的目录,运行以下命令解压文件:
tar -zxvf mycat2-install-template-1.21.zip

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

unzip mycat2-install-template-1.21.zip

步骤3:配置Mycat

  1. 进入解压后的Mycat目录:
cd mycat/lib/
  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. 编辑 conf 目录下的 server.xml 配置文件:
vim mycat/conf/datasources/prototypeDs.datasource.json
  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
}

输入:wq!保存退出。

步骤4:启动Mycat

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

可能会出现启动失败的情况:
在这里插入图片描述
原因是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/

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

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

在这里插入图片描述

步骤5:连接并测试Mycat

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

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

ProxySql

安装ProxySql

介绍:

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

步骤1:更新系统

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

sudo yum update

步骤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

安装proxysql软件包:

sudo yum install proxysql

步骤3:配置ProxySQL

编辑ProxySQL配置文件:

sudo vi /etc/proxysql/proxysql.cnf

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

mysql_servers =
(
    { 
        address = '127.0.0.1', 
        port = 3306, 
        hostgroup = 10, 
        max_connections = 100, 
        max_replication_lag = 5, 
        use_ssl = 0 
    }
)

步骤4:启动ProxySQL

启动ProxySQL服务:

sudo systemctl start proxysql
sudo systemctl enable proxysql

步骤5:使用ProxySQL

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

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

在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;

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1036765.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

数学笔记:傅里叶变化

1 介绍 简而言之,傅里叶变换把一个输入信号分解成一堆正弦波的叠加 比如,以下是一个波: 这个波可以分解为两个正弦波的叠加。 也就是说,当我们将两个正弦波相加时,就会得到原来的波 哪怕是一个方波 也可以分解成一组…

【块状链表C++】文本编辑器(指针中 引用 的使用)

》》》算法竞赛 /*** file * author jUicE_g2R(qq:3406291309)————彬(bin-必应)* 一个某双流一大学通信与信息专业大二在读 * * brief 一直在竞赛算法学习的路上* * copyright 2023.9* COPYRIGHT 原创技术笔记:转载…

稀疏奖励问题解决方案总览

方案简介 HER (Hindsight Experience Replay) - 2017年 思想 HER(Hindsight Experience Replay)是一种特别设计用于解决稀疏奖励问题的强化学习算法。它主要用于那些具有高度稀疏奖励和延迟奖励的任务,特别是在连续动作空间中,如机…

IDEA设置注释快捷键进行 注释对齐

给大家推荐一个嘎嘎好用的功能~ 相信大家在使用IDE写代码的时候,经常用到 Ctrl / 来注释代码吧,但是默认的是将注释在行首对齐,看着很让人不舒服。但是下面的操作会将注释会和当前代码对齐,还会自动保留一个空格,真的…

【用unity实现100个游戏之13】复刻类泰瑞利亚生存建造游戏——包括建造系统和库存系统

文章目录 前言素材人物瓦片其他 一、建造系统1. 定义物品类2. 绘制地图3. 实现瓦片选中效果4. 限制瓦片选择5. 放置物品功能6. 清除物品7. 生成和拾取物品功能 二、库存系统1. 简单绘制UI2. 零代码控制背包的开启关闭3. 实现物品的拖拽拖拽功能拖拽恢复问题 4. 拖拽放置物品5. …

【C语言精髓 之 指针】指针*、取地址、解引用*、引用

/*** file * author jUicE_g2R(qq:3406291309)————彬(bin-必应)* 一个某双流一大学通信与信息专业大二在读 * copyright 2023.9* COPYRIGHT 原创技术笔记:转载需获得博主本人同意,且需标明转载源* language …

人工智能驱动的自然语言处理:解锁文本数据的价值

文章目录 什么是自然语言处理?NLP的应用领域1. 情感分析2. 机器翻译3. 智能助手4. 医疗保健5. 舆情分析 使用Python进行NLP避免NLP中的陷阱结论 🎉欢迎来到AIGC人工智能专栏~人工智能驱动的自然语言处理:解锁文本数据的价值 ☆* o(≧▽≦)o *…

flutter web 优化和flutter_admin_template

文章目录 Flutter Admin TemplateLive demo: https://githubityu.github.io/live_flutter_adminWeb 优化 Setup登录注册英文 亮色主题 中文 暗黑主题管理员登录权限 根据权限动态添加路由 第三方依赖License最后参考学习 Flutter Admin Template Responsive web with light/da…

C++ 学习系列 -- std::vector (未完待续)

一 std::vector 是什么? vector 是c 中一种序列式容器,与前面说的 array 类似,其内存分配是连续的,但是与 array 不同的地方在于,vector 在运行时是可以动态扩容的,此外 vector 提供了许多方便的操作&…

世界前沿技术发展报告2023《世界信息技术发展报告》(四)电子信息技术

(四)电子信息技术 1. 概述2. 微电子技术2.1 精细制程芯片2.1.1 中国台积电发布2纳米制程工艺细节2.1.2 美国英特尔公司称2030年芯片晶体管密度将达到目前的10倍2.1.3 韩国三星电子率先实现3纳米制程芯片量产2.1.4 日本丰田、索尼等8家公司合资成立高端芯…

【李沐深度学习笔记】矩阵计算(1)

课程地址和说明 线性代数实现p4 本系列文章是我学习李沐老师深度学习系列课程的学习笔记,可能会对李沐老师上课没讲到的进行补充。 本节是第一篇 矩阵计算 标量导数 导数刻画的是函数在某点的瞬时变化率 这东西都是考研学过的,快速略过,如…

网站接入公网并配置域名访问【详细教程】

网站接入公网并配置域名访问【详细教程】 安装Nginx上传网页文件配置Nginx腾讯云配置域名映射接入公网备案流程 本教程将以腾讯云服务器和腾讯云域名为例,介绍如何快速将网站接入公网并配置域名访问。我们将使用xshell工具进行操作,并涵盖安装nginx、上传…

Unity之VR如何实现跟随视角的UI

前言 我们在制作VR项目的时候,大部分时候,是把UI固定到一个位置,比如桌子或者空中,这么做固然稳定,但是当我们有以下需求的时候,固定位置的UI可能会不适用: 1.场景较小,操作物体占用了很大体积,没有固定的可以清晰显示完整UI的位置。 2.需要频繁的前后左右,更换姿势…

Unity3D 使用LineRenderer自由画线

原理 一个LineRenderer是一次画线,需要使用对象池一帧记录一个鼠标位置 代码 这是线绘制器的代码,依赖于笔者写过的一个简易对象池 传送门:>>对象池 using EasyAVG; using System; using System.Collections.Generic; using UnityEn…

指针和数组笔试题的透析

指针---进阶篇(三) 一、前言二、一维数组例题透析:三、指针笔试题1.例一:2.例二:3.例三:4.例四:5.例五:6.例六: 一、前言 那么好了好了,宝子们,从…

王道408计组汇编语言部分学习总结

x86汇编语言指令基础 x86处理器中程序计数器PC 通常被称为IP 高级语言—>汇编语言—>机器语言 x86架构CPU,有哪些寄存器 EAX通用寄存器EBXECXEDXESI 变址寄存器 变址寄存器可用于线性表、字符串的处理EDIEBP堆栈基指针堆栈寄存器用于实现函数调用 ESP堆栈…

LESS的叶绿素荧光模拟实现与操作

LESS的叶绿素荧光模拟实现与操作 前情提要FLUSPECT模型荧光的三维面元冠层辐射传输过程日光诱导叶绿素荧光模拟 前情提要 本文默认您对LESS (LargE-Scale remote sensing data and image Simulation framework) 模型和叶绿素荧光(Sun-Induced chlorophyll Fluorescence, SIF)有…

2023华为杯研究生数学建模研赛E题出血脑卒中完整论文(含28个详细预处理数据及结果表格)

大家好呀,从发布赛题一直到现在,总算完成了全国研究生数学建模竞赛(数模研赛)E题完整的成品论文。 本论文可以保证原创,保证高质量。绝不是随便引用一大堆模型和代码复制粘贴进来完全没有应用糊弄人的垃圾半成品论文。…

高级运维学习(十)系统安全

kali 实际上它就是一个预安装了很多安全工具的Debian Linux [rootmyhost ~]# kali reset kali reset OK. 该虚拟机系统用户名为:kali,密码为:kali 基础配置 $ ip a s # 查看网络IP地址,本例中查看到的是192.168.88.40 $ sudo systemctl start ssh # 启s…

java面试题-并发编程基础

1.线程的基础知识 1.1 线程和进程的区别? 难易程度:☆☆ 出现频率:☆☆☆ 程序由指令和数据组成,但这些指令要运行,数据要读写,就必须将指令加载至 CPU,数据加载至内存。在指令运行过程中还需要…