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

中间件代理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.mzph.cn/news/86302.shtml

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

相关文章

微信小程序快速入门01(含案例)

文章目录 前言一、组件1.常用视图容器类组件viewscroll-viewswiper、swiper-item 2.text、rich-text3.其他常用组件buttonimagenavigator 二、小程序API三、数据绑定1.定义页面数据2.绑定数据 四、事件绑定1.什么是事件2.小程序中常用的事件3.事件对象 的属性列表target和curre…

详解Renko图表如何表现价格变动

相信大多数投资者与FPmarkets澳福一样,都已发现Renko图表与日本烛台图一样,具有上升和下降的特性。增长期间的典型砖块颜色为绿色或白色,而衰退期前的Renko则呈现红色或黑色。 今天,FPmarkets澳福将与各位投资者共同探讨Renko图表…

第一个 Go 程序“hello,world“ 与 main 函数

第一个 Go 程序"hello,world" 与 main 函数 文章目录 第一个 Go 程序"hello,world" 与 main 函数一.创建“hello,world”示例程序二. “hello,world” 程序结构拆解三、main 函数四、Go 语言中程序是怎么编译…

PowerDesigner 连接 MYSQL

我使用的是powerDesigner16的版本,使用前先保证安装了 mysql odbc 驱动包 选择:文件 -> 反向工程 -> database… 一大波图片正在来袭。。。 点击确认 至此连接成功

【JavaScript保姆级教程】Javascript常量

文章目录 前言一、常量1.1 常量是什么1.2 常量的作用 二、示例代码2.1 示例1:声明一个常量2.2 示例2:常量的命名规则2.3 示例3:常量与变量的区别 总结 前言 欢迎来到【JavaScript保姆级教程】!在本篇教程中,我们将讨论…

【激光雷达码盘偏摆角的真假点映射关系】

激光雷达码盘偏摆角的真假点映射关系 一、概要二、完架构流程三、技术细节四、完整代码 一、概要 本代码主要计算激光雷达码盘偏摆角(也可以理解为雷达的零位角)导致的实际slam建图距离的偏差,只取了第一个象限作为分析目标。最终得出的结论是…

浅谈Deep Learning 与 Machine Learning 与Artificial Intelligence

文章目录 三者的联系与区别 三者的联系与区别 “Deep Learning is a kind of Machine Learning, and Machine Learning is a kind of Artificial Intelligence.” 人工智能(AI),机器学习(Machine Learning,简称ML&am…

41. Linux系统配置FTP服务器并在QT中使用QFtp实现文件上传

1. 说明 这篇博客主要记录一些在Linux系统中搭建FTP服务器时踩过的一些坑,以及在使用QFtp上传文件时需要注意的问题。 2. FTP环境搭建 在linux系统中,需要安装vsftpd,可以在终端中输入下面的命令进行安装: sudo apt-get install vsftpd使用上述命令安装后,系统中会有一…

价值1000的情感爆文写作prompt,助你写出10万+阅读微信爆文

原文:价值1000的情感爆文写作prompt,助你写出10万阅读微信爆文 - 知乎 是否经常看到一些自媒体晒出这样的图片? 或者是这样的10w的阅读文章 那么这是真实能赚钱的吗?还是自媒体夸大其说,吸引流量。 我们先简单了解什…

【C++】bitset位图的简单模拟实现及常见面试题

文章目录 前言一、 bitset模拟实现二、 常见面试题1.给你一百亿个整数,找到只出现一次的数字2. 给两个文件,分别有100亿个整数,我们只有1G内存,如何找到两个文件交集? 前言 快速查找某个数据是否在一个集合中排序 去重…

有名管道及其应用

创建FIFO文件 1.通过命令&#xff1a; mkfifo 文件名 2.通过函数: mkfifo #include <sys/types.h> #include <sys/stat.h> int mkfifo(const char *pathname, mode_t mode); 参数&#xff1a; -pathname&#xff1a;管道名称的路径 -mode&#xff1a;文件的权限&a…

程序员的快乐如此简单

最近在GitHub上发起了一个关于Beego框架的小插件的开源仓库&#xff0c;这一举动虽然看似微小&#xff0c;但其中的快乐和意义却是无法用言语表达的。 Beego是一个开源的Go语言Web框架&#xff0c;它采用了MVC架构模式&#xff0c;并集成了很多常用的功能和中间件。小插件是指…

AIGC绘本——海马搬家来喽

随着ChatGPT的快速发展&#xff0c;人工智能领域也发生了翻天覆地的变化。今天&#xff0c;我们迎合科技潮流&#xff0c;利用AIGC的强大能力&#xff0c;可以创作很多精彩的作品&#xff0c;比如这样一本名为《海马搬家》的绘本&#xff08;注&#xff1a;此绘本根据同名儿童故…

线性绘制在NSDT 3D场布中的应用

什么是线性摆放&#xff1f; 线性摆放是指将一系列对象按照直线或者曲线进行排列&#xff0c;形成一条线或者弧线状的布局方式。在3D场布中&#xff0c;线性摆放可以应用于多个领域和场景&#xff0c;如展览设计、景观规划、商业空间布置等。 线性绘制在3D场布中的应用 展览设…

什么是CORS(跨源资源共享)?如何解决前端中的CORS问题?

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ CORS&#xff08;跨源资源共享&#xff09;⭐ 解决前端中的CORS问题的方法⭐ 写在最后 ⭐ 专栏简介 前端入门之旅&#xff1a;探索Web开发的奇妙世界 欢迎来到前端入门之旅&#xff01;感兴趣的可以订阅本专栏哦&#xff01;这个专栏是为…

HCQ1-1300-D故障笔记

常用查错网址&#xff1a; SMC_ERROR (ENUM) 删除 Web

9.19号作业

2> 完成文本编辑器的保存工作 widget.h #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QFontDialog> #include <QFont> #include <QMessageBox> #include <QDebug> #include <QColorDialog> #include <QColor&g…

AJAX的奇妙之旅(1)基础知识

一、简介 AJAX&#xff08;Asynchronous JavaScript and XML&#xff09;是一种使用现有标准的新方法。它是一种用于创建快速动态网页的技术。AJAX 最大的优点是在不重新加载整个页面的情况下&#xff0c;可以与服务器交换数据并更新部分网页内容。AJAX 不需要任何浏览器插件&a…

golang 自动生成文件头

安装koroFileHeader控件 打开首选项&#xff0c;进入设置&#xff0c;配置文件头信息"fileheader.customMade": {"Author": "lmy","Date": "Do not edit", // 文件创建时间(不变)// 文件最后编辑者"LastEditors"…

R语言贝叶斯非参数模型:密度估计、非参数化随机效应META分析心肌梗死数据...

全文链接&#xff1a;http://tecdat.cn/?p23785 最近&#xff0c;我们使用贝叶斯非参数&#xff08;BNP&#xff09;混合模型进行马尔科夫链蒙特卡洛&#xff08;MCMC&#xff09;推断&#xff08;点击文末“阅读原文”获取完整代码数据&#xff09;。 概述 相关视频 在这篇文…