MySQL:读写分离-amoeba(7)

news2024/9/27 17:37:40

环境介绍

mysql主服务器  192.168.254.1

mysql从服务器(1)192.168.254.2

mysql从服务器(2)192.168.254.3

amoeba代理服务器   192.168.254.4

测试服务器   192.168.254.5

此技术搭配主从复制,我的主服务器和从服务器都进行了主从复制 


主从复制 

MySQL:主从复制-基础复制(6)-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/w14768855/article/details/133690486?spm=1001.2014.3001.5501 


读写分离

在主服务器上的设置

 到主服务器192.168.254.1上的mysql进行操作配置

grant all on *.* to zhangsan@'192.168.254.%' identified by '111222333';

对张三用户设置权限和密码

show grants for zhangsan@'192.168.254.%';

现在张三这个用户同时也同步至从服务器了,等会在代理服务器上就使用张三去登录mysql


在代理服务器上的设置 

Java Archive 下载 - Java SE 6 (oracle.com)icon-default.png?t=N7T8https://www.oracle.com/java/technologies/javase-java-archive-javase6-downloads.html#jdk-6u21-oth-JPR

下载 jdk-6u14-linux-x64.bin的jdk包和

Download amoeba-mysql-binary-2.2.0.tar.gz (amoeba)Amoeba is a proxy that sits between your client and DB server(s) that can monitor, analyze or transform their communication. written in java. 1.load…icon-default.png?t=N7T8https://sourceforge.net/projects/amoeba/files/Amoeba%20for%20mysql/2.2.x/amoeba-mysql-binary-2.2.0.tar.gz下载amoeba的tar.gz包

可以使用网络下载工具或者在Linux里使用

wget https://sourceforge.net/projects/amoeba/files/Amoeba%20for%20mysql/2.2.x/amoeba-mysql-binary-2.2.0.tar.gz

 

把这俩包放入Linux 

先安装java

yum -y remove java

这会删除你的java,如果你有java环境请慎重考虑

chmod +x jdk-6u14-linux-x64.bin 
./jdk-6u14-linux-x64.bin

一直回车或者按空格

 

到这里输入yes,然后回车

 

回车一下 

这就安装好了

mv jdk1.6.0_14/ /usr/local/jdk1.6
vi  /etc/profile

最末尾追加

export JAVA_HOME=/usr/local/jdk1.6

export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib

export PATH=$JAVA_HOME/lib:$JAVA_HOME/jre/bin/:$PATH:$HOME/bin

export AMOEBA_HOME=/usr/local/amoeba

export PATH=$PATH:$AMOEBA_HOME/bin
source /etc/profile

java安装完成

 安装amoeba

mkdir /usr/local/amoeba
tar zxvf amoeba-mysql-binary-2.2.0.tar.gz -C /usr/local/amoeba/
chmod -R 755 /usr/local/amoeba/
/usr/local/amoeba/bin/amoeba

 如果弹了amoeba start|stop 那就可以了,先不用开启,去配置文件


 /usr/local/amoeba/conf/amoeba.xml   配置文件修改方法

vim /usr/local/amoeba/conf/amoeba.xml

修改里面的内容

 30                                         <property name="user">amoeba</property>
 31 
 32                                         <property name="password">123456</property>
115                 <property name="defaultPool">master</property>
116 
117                 <property name="writePool">master</property>   ##注意删除<!--  -->的注释
118                 <property name="readPool">slaves</property>

这个是30和31行的,这里设置​的账户密码等会外界访问连接的时候就用这个

​​​​​

把下面的注释去掉 


/usr/local/amoeba/conf/dbServers.xml 文件修改方法 

vim /usr/local/amoeba/conf/dbServers.xml

修改

25                         <!-- mysql user -->
 26                         <property name="user">ly</property>   ##该用户必须是上一步授权的用户
 27                         
 28                         <!--  mysql password -->   ##修改
 29                         <property name="password">123123</property>  ##删除下一行的“-->”
 44         <dbServer name="master"  parent="abstractServer">   ##修改为master
 45                 <factoryConfig>
 46                         <!-- mysql ip -->
 47                         <property name="ipAddress">192.168.10.1</property>  ##指定正确的master的ip
 51         <dbServer name="slave1"  parent="abstractServer">  ##修改为slave1
 52                 <factoryConfig>
 53                         <!-- mysql ip -->
 54                         <property name="ipAddress">192.168.10.2</property>  ##指定slave1的ip地址
 55                 </factoryConfig>
 56         </dbServer>
 59         <dbServer name="slaves" virtual="true">  ##修改为slaves
 65                         <property name="poolNames">slave1</property>  ##修改集群的成员名称用逗号隔开

这里写入刚刚主服务器给权限的那个用户和他的密码 ,注意把密码那里的注释去掉

 

 第二个slave2是我自己加上的因为我有两个从服务器,如果我有更多的从服务器那么我还可以继续复制更多的,同时在最下面写好列表就行

/usr/local/amoeba/bin/amoeba start &
netstat -utpln |grep 8066

开启成功


 测试

yum -y install mysql
mysql -uamoeba -p123123 -h 192.168.254.4 -P 8066

我们的代理的服务器并没有安装mysql,我连接的192.168.254.4代理服务器会把我读发送至从服务器,写发送至主服务器,这样的读写分离就成功了 

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

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

相关文章

TS类中属性的封装

我们在如下的代码中&#xff0c;我们在类中设置属性&#xff0c;创建的对象可以随意修改自身的属性&#xff0c;对象中的属性可以任意被修改导致对象中的数据非常不安全。 // 创建一个Person类 class Person {name: string;age: number;constructor(name: string, age: number…

通道剪枝channel pruning

1、相关定义 过参数化&#xff1a;主要是指在训练阶段&#xff0c;在数学上需要进行大量的微分求解&#xff0c;去捕捉数据中微小的变化信息&#xff0c;一旦完成迭代式的训练之后&#xff0c;网络模型在推理的时候就不需要这么多参数。剪枝算法&#xff1a;核心思想就是减少网…

【【萌新的SOC学习之小水文系列】】

萌新的SOC学习之小水文系列 SD卡读写TXT文本实验 SD 卡共有 9 个引脚线&#xff0c;可工作在 SDIO 模式或者 SPI 模式。在 SDIO 模式下&#xff0c;共用到 CLK、CMD、DAT[3:0]六根信号线&#xff1b;在 SPI 模式下&#xff0c;共用到 CS&#xff08;SDIO_DAT[3]&#xff09;、…

栅形状的影响及可靠性的优化

栅形状的影响 VD-MOSFET单元结构采用平面栅极拓扑结构&#xff0c;栅极电极位于半导体的平坦上表面。虽然在这种结构中&#xff0c;在平面结处会发生电场增强&#xff0c;但在栅极电极处不会发生电场增强&#xff0c;因为栅极电极的边缘与高度掺杂的N源区重叠。栅极电极的边缘被…

新能源+低代码:百数服务商新领域,跨行业结合所碰撞出的新火花

新能源行业的兴起主要是在最近几年&#xff0c;特别是“双碳”目标提出后&#xff0c;中国的新能源行业迎来了快速发展的阶段。在政策支持和资本加持下&#xff0c;各种新能源和绿色发展基金设立&#xff0c;以新能源为主体的新型电力系统也得到了深化改革&#xff0c;大力推动…

Qt中QTimer定时器的用法

Qt中提供了两种定时器的方式一种是使用Qt中的事件处理函数&#xff0c;另一种就是Qt中的定时器类QTimer。 使用QTimer类&#xff0c;需要创建一个QTimer类对象&#xff0c;然后调用其start()方法开启定时器&#xff0c;此后QTimer对象就会周期性的发出timeout()信号。 1.QTimer…

十五、异常(6)

本章概要 Try-With-Resources 用法 揭示细节 异常匹配 Try-With-Resources 用法 在考虑所有可能失败的方法时&#xff0c;找出放置所有 try-catch-finally 块的位置变得令人生畏。确保没有任何故障路径&#xff0c;使系统远离不稳定状态&#xff0c;这非常具有挑战性。 Inp…

Unity ToLua热更框架使用教程(1)

从本篇开始将为大家讲解ToLua在unity当中的使用教程。 Tolua的框架叫LuaFramework&#xff0c;首先附上下载链接&#xff1a; https://github.com/jarjin/LuaFramework_UGUI_V2 这个地址的是UGUI的。 下载完之后导入项目&#xff0c;首先&#xff0c;我们要先让这个项目跑起…

老卫带你学---Datagrip连接clickhouse

Datagrip连接clickhouse Datagrip是一个DB可视化特别方便的软件&#xff0c;因为一些业务需要采用clickhouse&#xff0c;然而在download相关driver的时候出现各种问题&#xff0c;于是整理一下方案 1.需要下载clickhouse-jdbc的jar包&#xff0c;可以直接在sonatype上去下载…

C# 人像卡通化

效果 项目 代码 using Microsoft.ML.OnnxRuntime; using Microsoft.ML.OnnxRuntime.Tensors; using OpenCvSharp; using System; using System.Collections.Generic; using System.Drawing; using System.Linq; using System.Threading.Tasks; using System.Windows.Forms;nam…

图像分割-Segment Anything实践

一、模型介绍 Segment Anything 模型是一种新的图像分割模型&#xff0c;它可以在不需要大量标注数据的情况下&#xff0c;对图像中的任何物体进行分割。这种方法可以帮助计算机视觉领域的研究人员和开发人员更轻松地训练模型&#xff0c;从而提高计算机视觉应用程序的性能。该…

超前预告 | 云原生?大模型?这届乌镇双态IT大会亮点有点多

石道旁的水面&#xff0c;轻轻泛着微光&#xff0c;几片墨绿缓缓飘下&#xff0c;荡起柔和的波纹&#xff0c;向对岸游去。这儿不似北方秋阳如火的躁动&#xff0c;这儿的秋色是安静的&#xff0c;里便是江南水乡乌镇…… 2023年&#xff0c;第六届双态IT乌镇用户大会将于10月…

不再为文件名大小写烦恼:批量转换,一招搞定

在电脑使用过程中&#xff0c;我们经常需要处理各种文件&#xff0c;有时需要对文件名进行大小写转换以符合特定要求或便于管理。手动修改不仅费时还容易出错&#xff0c;那么有没有一种方法可以批量转换文件名大小写呢&#xff1f;答案是肯定的&#xff0c;下面就为大家介绍如…

DC电源模块在电容滤波器上的设计

BOSHIDA DC电源模块在电容滤波器上的设计 DC电源模块在电容滤波器上的设计是电源管理系统中非常重要的一部分&#xff0c;其目的是为了确保电源输出电压的稳定性和纹波尽可能小。在设计中&#xff0c;需要考虑到电源负载的变化和变压器等电源配件的电磁干扰等因素。下面我们详细…

基于Java的民宿管理系统设计与实现(源码+lw+部署文档+讲解等)(民宿预约、民宿预订、民宿管理、酒店预约通用)

文章目录 前言具体实现截图论文参考详细视频演示代码参考源码获取 前言 &#x1f497;博主介绍&#xff1a;✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技…

【数据结构】二叉树--堆排序

目录 一 降序(建小堆) 二 升序 (建大堆) ​三 优化(以升序为例) 四 TOP-K问题 一 降序(建小堆) void Swap(int* x, int* y) {int tmp *x;*x *y;*y tmp; }//降序 建小堆 void AdjustUp(int* a, int child) {int parent (child - 1) / 2;while (child > 0){if (a[chil…

(三)Apache log4net™ 手册 -演示

0、引言 在开始本文之前&#xff0c;推荐您首先阅读 Apache log4net™ 手册中有关 介绍 与 配置 的相关内容。本文将通过实践分别为您演示如何使用 Visual Studio 2022 在 .NET Framework 项目和 .NET 项目下配置并使用 Log4Net。 1、为 .NET Framework 项目配置 Log4Net 1.1…

day26--AJAX(axios使用,http协议(部分),接口文档,form-serialize使用)

目录 AJAX介绍&#xff1a; 什么是AJAX 怎么用AJAX&#xff1f; axios的使用&#xff1a; axios的核心配置&#xff1a; url统一资源定位符&#xff1a; 组成&#xff1a; http协议&#xff1a; 域名&#xff1a; 资源路径&#xff1a; 查询参数&#xff1a; 常用的…

Text embedding 模型总结

文章目录 MTEB榜单8个嵌入任务三种数据集类别 C_METB榜单文本向量表示模型 目前&#xff0c;随着 Langchain LLM模型 的火热&#xff0c;除了层出不穷的大模型外&#xff0c;因为检索的能力会很大程度影响最终的问答效果&#xff0c;文本的嵌入模型也是大家比较关注的。本文主…

Redis之主从复制,哨兵模式,集群

Redis之主从复制&#xff0c;哨兵模式&#xff0c;集群 1、主从复制1.1主从复制概述1.2Redis主从复制作用1.3Redis主从复制流程1.4部署Redis 主从复制 2、哨兵模式2.1哨兵模式原理2.2哨兵模式的作用2.3哨兵模式的结构2.4故障转移机制2.5搭建Redis 哨兵模式 3、Redis集群模式3.1…