十四、linux-MySQL的数据库集群读写分离及高可用性、备份等
一、数据库集群及高可用性

二、mysql实现读写分离
mysql实现读写分离有多种方式:
1)代码语言(php\python\java等)层面实现读写分离,找开发进行实现。
2)通过软件工具实现读写分离,例如amoeba软件(厄密吧软件(读音))、mysql-proxy软件
amoeba软件既可以实现负载均衡,也可以实现读写分离,就是进行服务器端压力的分离。Amoeba(变形虫)项目,专注 分布式数据库 proxy 开发。座落与Client、DB Server(s)之间。对客户端透明。具有负载均衡、高可用性、sql过滤、读写分离、可路由相关的query到目标数据库、可并发请求多台数据库合并结果。Amoeba(变形虫)项目,该开源框架于2008年 开始发布一款 Amoeba forMysql软件。这个软件致力于MySQL的分布式数据库前端代理层,它主要在应用层访问MySQL的时候充当SQL路由功能,专注于分布式数据库代理层(Database Proxy)开发。座落与 Client、DB Server(s)之间,对客户端透明。具有负载均衡、高可用性、SQL 过滤、读写分离、可路由相关的到目标数据库、可并发请求多台数据库合并结果。通过Amoeba你能够完成多数据源的高可用、负载均衡、数据切片的功能,目前Amoeba已在很多企业的生产线上面使用。
mysql proxy是一个通过网络利用mysql的网络协议,并且提供一个或者多个mysql服务器与一个或者多个mysql客户端相互沟通的应用程序。除此之外,proxy可以在查询队列发送到服务器之前插入一些查询请求,也可以在服务器的应答中将应答删除,这个功能可以使得管理者可以在对每个查询进行跟踪并获取报告。例如:监测其执行时间或者其他调用信息,并分别记录结果,将正确的应答返回客户端。


三、Amoeba实现mysql读写分离
推荐:https://blog.csdn.net/yabingshi_tech/article/details/50512626
本人根据博文搭建成功,测试读写分离成功,推荐此博文,另外JDK推荐1.8,推荐oralce官网上的rpm包安装,地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html
这里有几点说明:
1)查看当前使用的是哪个数据库:select database();
2)远程登陆amoeba命令: mysql -u root -p -h 192.168.0.102 --port 8066 (不是3306就要加上端口)
3)登陆截图如下,表示登陆的是amoeba代理

4)半同步复制:如果数据库有一次同步失败,那么半同步就会终止,变成异步同步机制。
什么是半同步复制:何为半同步复制模式呢?在此我们先了解异步复制模式,这是MySQL的默认复制选项。异步复制即是master数据库把binlog日志发送给slave数据库,然后就没有了然后了。在此暴露一个问题,当slave服务器发生故障了,那么肯定会导致主从数据库服务器的数据不一致。
为了解决上面的问题,MySQL5.5引入一种叫做半同步复制模式。开启这种模式,可以保证slave数据库接收完master数据库发送过来的binlog日志并写入自己的中继日志中,然后反馈给master数据库,告知已经复制完毕。
开启这种模式后,当出现超时,主数据库将会自动转为异步复制模式,直到至少有一台从服务器接受到主数据库的binlog,并且反馈给主数据库。这时主数据库才会切换回半同步复制模式。
5)远程登陆多实例同3)相同,加上端口就可以了。
十四、linux-MySQL的数据库集群读写分离及高可用性、备份等的更多相关文章
- docker+mysql集群+读写分离+mycat管理+垂直分库+负载均衡
依然如此,只要大家跟着我的步骤一步步来,100%是可以测试成功的 centos6.8已不再维护,可能很多人的虚拟机中无法使用yum命令下载docker, 但是阿里源还是可以用的 因为他的centos- ...
- 使用mysql-proxy 快速实现mysql 集群 读写分离
目前较为常见的mysql读写分离分为两种: 1. 基于程序代码内部实现:在代码中对select操作分发到从库:其它操作由主库执行:这类方法也是目前生产环境应用最广泛,知名的如DISCUZ X2.优点是 ...
- 【转】nodejs mysql 链接数据库集群
1.建立数据库连接:createConnection(Object)方法 该方法接受一个对象作为参数,该对象有四个常用的属性host,user,password,database.与php中 ...
- 第十四章 二进制部署k8s集群的平滑升级
1.软件包下载 去github上下载较新的Kubernetes软件包https://github.com/ 2.升级说明 升级包括master节点升级和node节点的升级,本章升级至v1.15.12: ...
- MySQL集群读写分离的自定义实现
基于MySQL Router可以实现高可用,读写分离,负载均衡之类的,MySQL Router可以说是非常轻量级的一个中间件了.看了一下MySQL Router的原理,其实并不复杂,原理也并不难理解, ...
- Mysql集群读写分离(Amoeba)
Amoeba原理戳这里:Amoeba详细介绍 实验环境 Master.Amoeba--IP:192.168.1.5 Slave---IP:192.168.1.10 安装JDK JDK下载地址:http ...
- MySQL集群系列2:通过keepalived实现双主集群读写分离
在上一节基础上,通过添加keepalived实现读写分离. 首先关闭防火墙 安装keepalived keepalived 2台机器都要安装 rpm .el6.x86_64/ 注意上面要替换成你的内核 ...
- windows mysql主 Linux mysql 从 主从同步,读写分离
Mysql –master linux-slave 一.My.ini: Server-id=1 relay-log=relay-bin relay-log-index=relay-bin-index ...
- 基于zookeeper和强一致性复制实现MySQL分布式数据库集群
http://qikan.cqvip.com/article/detail.aspx?id=667750898&from=zk_search
随机推荐
- xxe
XXE xml external entity injection xml外部实体注入 概述 xml是可扩展的标记语言,涉及被用来传输.存储数据 html被用来显示数据 其中xml的标签没有预定义的, ...
- MySQL-半同步复制原理实践
参考文档: http://mysql.taobao.org/monthly/2017/04/01/ 阿里内核月报半同步复制的数据一致性 https://www.cnblogs.com/ivictor/ ...
- 吴裕雄--天生自然C++语言学习笔记:C++ 基本语法
C++ 程序可以定义为对象的集合,这些对象通过调用彼此的方法进行交互. 对象 - 对象具有状态和行为.例如:一只狗的状态 - 颜色.名称.品种,行为 - 摇动.叫唤.吃.对象是类的实例. 类 - 类可 ...
- 直击JDD | 王振辉:技术是驱动物流革新的第一要素
"从物流基础设施的大规模智能迭代到产业供应链的数字化升级,物流行业从大而重变得'举重若轻',技术是驱动物流革新的第一要素."11月19日,京东物流集团CEO王振辉在2019京东全球 ...
- dockerfile---apt-get install vim 时 Unable to locate package vim
在学习 dockerfile 的时候,发现编写的 Dockerfile 中的 apt-get install 命令无法找到要安装的包,所以记录一下这次发生的错误. 环境:宿主机:windows 10 ...
- DP模板
怕不是最后一篇(雾),过滤最基础的背包DP.状压DP.递推等 树上换根DP:https://www.luogu.org/problemnew/show/P4284 #include<bits/s ...
- Iptables的规则语法
Iptables的规则语法 分类: 防火墙2012-04-19 17:09 1228人阅读 评论(0) 收藏 举报 inputtcpfilter防火墙output网络 (一) 基本语法 iptable ...
- 图解:平衡二叉树,AVL树
学习过了二叉查找树,想必大家有遇到一个问题.例如,将一个数组{1,2,3,4}依次插入树的时候,形成了图1的情况.有建立树与没建立树对于数据的增删查改已经没有了任何帮助,反而增添了维护的成本.而只有建 ...
- 条款02:尽量以const,enum,inline替换#define
目录 1. 总结 2. 使用const常量或enum替换宏常量 class外部的常量指针 class专属常量 1. 总结 对于单纯常量,最好以const常量或enum替换#define 对于宏代码段, ...
- pyQt 流布局的一个例子
瀑布流布局 from PyQt5.QtCore import QPoint, QRect, QSize, Qt from PyQt5.QtWidgets import (QApplication, Q ...