Amoeba-mysql主从+读写分离实战+测试+排错

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 2核4GB
简介:

Amoeba-mysql读写分离实战

         Amoeba用途有很多,这里看标题我们就先说读写分离,因为我也只会这个。Amoeba定义为国内的,开源的。目前(2015年10月20日)我们用amoeba2.2版本来做。

先说一下本人环境:wKioL1Ym5zbyIxExAADay0VnuMg256.jpg



Mysql 5.6

Centos 6.4

Mysql一主两从已OK。

Amoeba 2.2.x

Amoeba下载地址:http://sourceforge.net/projects/amoeba/files/Amoeba%20for%20mysql/

 

由于Amoeba需要用到jave se 所以我们需要安装jdk环境。

最新的1.8 可用。

安装jdk:

rpm -ivh jdk-8u60-linux-x64.rpm

wKiom1Ym50jR_QM_AAEV4426fbg217.jpg


source /etc/profile

验证jdk:

 wKiom1Ym52qSsKYOAAEhME4H_Cc727.jpg

Jdk就完事了,现在开始amoeba的安装。

 

先创建目录文件

mkdir /usr/local/amoeba

tar zxvf amoeba-mysql-binary-2.2.0.tar.gz -C /usr/local/amoeba

解压指定目录

wKioL1Ym57rCmWhXAAFbVfwqpww932.jpg


然后我们进入conf文件,这里的xml为储存amoeba设置连接mysql的数据

在amoeba目录下,输入

./bin/amoeba

wKiom1Ym56mhWXu9AABAvOaodL4427.jpg

如果出现说明amoeba安装OK,

 

接下来设置amoeba的参数,设置参数的文件在conf目录下的amoeba.xml和dbServers.xml两个文件。

先看 dbServiers.xml

wKioL1Ym5-uyJ-yDAARt_eq2r5A452.jpg


grant all on *.* to root@'192.168.0.191' identified by "123456";这条命令是需要在客户端运行的,让amoeba调度器能够连接我们的数据库并做操作

wKiom1Ym5-HyttdUAAPoUDHtH64447.jpg


这个dbServers.xml就设置到这里

 

 

接下来看amoeba.xml


 wKiom1Ym5_2SAOlWAAMQ1eTXXC4730.jpgwKioL1Ym6D_h4ZprAAN8fzp7MGk709.jpg

 


配置完成后保存。

然后启用amoeba

/usr/local/amoeba/bin/amoeba &       &表示在后台运行

如果出现

wKiom1Y5tEDQktl4AAFO8PV24ao190.jpg打开bin/amoeba

DEFAULT_OPTS="-server -Xms256m -Xmx256m -Xss128k"
改成

    DEFAULT_OPTS="-server -Xms256m -Xmx256m -Xss256k"




用ps –ef |grep amoeba 看一下是否启动

查看netstat -tunlp | grep 8066 看一下端口是否开启

##amoeba这台机器是不用开启mysql服务

 

 

 

     在其他客户端上验证是否可以登录amoeba上;

wKioL1Ym6F7hkcY1AABGN6mSdvA342.jpg



这样就表示登录成功。

 wKiom1Ym6E-A4lJoAAEF1P-PbwU124.jpg



到此读写分离就已经搭建完成了,如果要结合到前段web的应用上就把web端的数据库连接改到amoeba这台服务器的8066端口上,用户名密码就是amoeba.xml里配置的用户名和密(并非real-mysql-server)的用户。


如果想实现分库分用户比如mysql里yyy用户管理yyy库,zzz用户管理zzz库。可以新解压个amoeba程序修改端口,修改库,修改用户,另起进程进行读写分离。



此处我前端web是discuz论坛,就要修改/usr/local/nginx/html/config/config_global.php

wKioL1Y5v6SCVrOXAAKfBq_TL2g715.jpg


\本文转自 转身撞墙角 51CTO博客,原文链接:http://blog.51cto.com/chentianwang/1709659


相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
打赏
0
0
0
0
344
分享
相关文章
软件测试的艺术:确保质量的实战策略
在软件开发的舞台上,测试是那把确保每个功能如交响乐般和谐奏响的指挥棒。本文将深入探讨软件测试的重要性、基本类型以及如何设计高效的测试策略。我们将通过一个实际的代码示例,展示如何运用这些策略来提升软件质量和用户体验。
MySQL索引策略与查询性能调优实战
在实际应用中,需要根据具体的业务需求和查询模式,综合运用索引策略和查询性能调优方法,不断地测试和优化,以提高MySQL数据库的查询性能。
447 66
如何实现 MySQL 的读写分离?
本文介绍了 MySQL 读写分离的实现方式及其主从复制原理,解释了如何通过主从架构提升读并发能力。重点分析了主从同步延时问题及解决方案,如半同步复制、并行复制等技术手段,并结合实际案例探讨了高并发场景下的优化策略。文章还提醒开发者在编写代码时需谨慎处理插入后立即查询的情况,避免因主从延时导致的数据不一致问题。
328 44
如何实现 MySQL 的读写分离?
【03】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-测试hello word效果-虚拟华为手机真机环境调试-为DevEco Studio编译器安装中文插件-测试写一个滑动块效果-介绍诸如ohos.ui等依赖库-全过程实战项目分享-从零开发到上线-优雅草卓伊凡
【03】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-测试hello word效果-虚拟华为手机真机环境调试-为DevEco Studio编译器安装中文插件-测试写一个滑动块效果-介绍诸如ohos.ui等依赖库-全过程实战项目分享-从零开发到上线-优雅草卓伊凡
75 10
【03】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-测试hello word效果-虚拟华为手机真机环境调试-为DevEco Studio编译器安装中文插件-测试写一个滑动块效果-介绍诸如ohos.ui等依赖库-全过程实战项目分享-从零开发到上线-优雅草卓伊凡
从Postman到Apipost:我的动态参数测试实战踩坑记
作为一名全栈开发工程师,在开发用户中心模块时,我遇到了复杂参数API测试的挑战。最初使用Postman时,发现其在生成动态参数(如邮箱、手机号和日期)时存在诸多问题,导致测试效率低下甚至出错。例如,随机生成的邮箱格式无效等 后来,CTO推荐了Apipost,它提供了更智能的参数生成方式:支持真实邮箱、符合规范的手机号以及合法日期范围,极大提升了测试效率和准确性。通过对比,Apipost在处理复杂动态参数方面明显优于Postman,减少了维护成本并提高了团队协作效率。现在,我们已全面切换到Apipost,并利用其「参数组合测试」功能发现了多个边界条件bug。
使用崖山YMP 迁移 Oracle/MySQL 至YashanDB 23.2 验证测试
这篇文章是作者尚雷关于使用崖山YMP迁移Oracle/MySQL至YashanDB 23.2的验证测试分享。介绍了YMP的产品信息,包括架构、版本支持等,还详细阐述了外置库部署、YMP部署、访问YMP、数据源管理、任务管理(创建任务、迁移配置、离线迁移、校验初始化、一致性校验)及MySQL迁移的全过程。
Python 高级编程与实战:构建自动化测试框架
本文深入探讨了Python中的自动化测试框架,包括unittest、pytest和nose2,并通过实战项目帮助读者掌握这些技术。文中详细介绍了各框架的基本用法和示例代码,助力开发者快速验证代码正确性,减少手动测试工作量。学习资源推荐包括Python官方文档及Real Python等网站。
一个测试工程师的实战笔记:我是如何在Postman和Apipost之间做出选择的?
优秀的API测试工具应该具备: 分层设计:既有可视化操作,也开放代码层深度定制 场景感知:自动识别加密需求推荐处理方案 协议包容:不强迫开发者为了不同协议切换工具 数据主权:允许自主选择数据存储位置
72 7
【赵渝强老师】MySQL的基准测试与sysbench
本文介绍了MySQL数据库的基准测试及其重要性,并详细讲解了如何使用sysbench工具进行测试。内容涵盖sysbench的安装、基本使用方法,以及具体测试MySQL数据库的步骤,包括创建测试数据库、准备测试数据、执行测试和清理测试数据。通过这些步骤,可以帮助读者掌握如何有效地评估MySQL数据库的性能。
207 5
SpringCloud2023实战之接口服务测试工具SpringBootTest
SpringBootTest同时集成了JUnit Jupiter、AssertJ、Hamcrest测试辅助库,使得更容易编写但愿测试代码。
139 3

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等