读写分离应用分析:

在企业用户中,在大量的数据请求下,单台数据库将无法承担所有读写操作。解决方法:

配置多台数据库服务器以实现主从复制+读写分离。

1、基于程序代码内部实现

在代码中根据select、 insert 进行路由分类,这种方法目前生产环境中应用最广泛。优点是性能较好,因为在程序代码中实现,不需要增加额外的设备作为硬件开支。缺点是需要开发人员能来实现,运维人员无从下手。

2、基于中间代理层实现

代理一般位于客户端和服务器之间,代理服务器接到客户端请求后通过判断后转发到后端数据库。

常见的代理服务器:

MySQL-Proxy

Amoeba

实验环境:

amoeba: 192.168.200.114

master:192.168.200.111

slave1:192.168.200.112

slave2:192.168.200.113

client:192.168.200.123

前提是主从服务器支持主从复制

配置amoeba服务器:

1.安装amoeba软件

准备好jdk-6u14-linux-x64.bin文件

2.给与该文件执行权限

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

3.执行该文件

./jdk-6u14-linux-x64.bin

执行后会进入阅读模式,一直按回车,提示是否安装是输入yes

4.将文件移动

mv jdk1.6.0_14/ /usr/local/jdk1.6

5.修改配置文件

vim /etc/profile

在最后末行添加以下信息:

export JAVA_HOME=/usr/local/jdk1.6

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

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

export AMOEBA_HOME=/usr/local/amoeba

export PATH=$PATH:$AMOEBA_HOME/bin

6.查看java版本信息(不建议安装1.7以上的版本,推荐使用1.6及以下)

java -version

显示1.7的版本

7.删除java文件

rm -rf /usr/bin/java

8.重新加载文件信息

source /etc/profile

9.再次查看版本信息

java -version

10.安装配置amoeba

事先准备amoeba包

amoeba-mysql-binary-2.2.0.tar.gz

11创建文件目录

mkdir /usr/local/amoeba

解包:

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

12.给与755的权限

chmod -R 755 /usr/local/amoeba/

13.执行amoeba

/usr/local/amoeba/bin/amoeba

#出现amoeba start|stop证明配置没有问题

在MySQL数据库服务器上对amoeba授权:

1.在每一台服务器上登录数据库执行:

grant all on *.* to 'admin'@'192.168.200.%'identified by'123123';

2.刷新授权表:

flush privileges;

在amoeba服务器上编辑amoeba.xml配置文件,设置读写分离:

cd /usr/local/amoeba/conf/

cp amoeba.xml amoeba.xml.origin

vim amoeba.xml

设置一个用户,后面的客户端访问时使用

设置登录密码

将注释去掉,设置默认的服务器池||写服务器池||读服务器池

在amoeba服务器上编辑配置文件,设置登录MySQL服务器的用户及密码、MySQL服务器节点的IP地址、负载均衡的算法:

cd /usr/local/amoeba/conf/

cp dbServers.xml dbServers.xml.origin

vim dbServers.xml

默认端口为3306,设置访问MySQL数据库的所用的用户名和密码

依次为:主MySQL服务器的名称和IP地址

从MySQL服务器1的名称和IP地址

从MySQL服务器2的名称和IP地址

与主从MySQL服务器对应

设置readpool

负载均衡算法值为1,轮询算法

前面定义的服务器节点名

测试环境:

启动amoeba

1.检查配置是否出错

/usr/local/amoeba/bin/amoeba

amoeba start|stop表示没出错

2.起服务

/usr/local/amoeba/bin/amoeba &

3.检查端口8066

netstat -lnpt|grep java

mysql amoeba_MySQL基于Amoeba实现读写分离相关推荐

  1. MySQL主从复制和基于Amoeba的读写分离部署

    文章目录 MySQL主从复制和基于Amoeba读写分离 什么是主从复制? 为什么要有MySQL主从复制? 什么是读写分离? 一.MySQL主从复制原理 二.主从复制的工作过程 三.主从复制方式 1.异 ...

  2. mysql5.6主从复制与基于amoeba实现读写分离

    Mysql5.6主从复制 1.特性分析说明: mysql 5.6支持多线程复制的机制并且mysql 5.6还引用了GTID的概念,使得其复制功能的配置.监控及管理变得更加易于实现,且更加健壮. TID ...

  3. mysql amoeba 事务_MySQL基于Amoeba实现读写分离

    在实际的生活环境中,如果对数据库的读和写都在同一个数据库服务中操作,无论是在安全性,高可用还是高并发等各个方面都不能完全满足实际需求的,因此一般来说都是通过主从复制的方式来同步数据,再通过读写分离来提 ...

  4. Mysql 基于 Amoeba 的 读写分离(2)

    <?xml version="1.0" encoding="gbk"?> <!DOCTYPE amoeba:configuration SYS ...

  5. Mysql 基于 Amoeba 的 读写分离

    首先说明一下amoeba 跟 MySQL proxy在读写分离的使用上面的区别: 在MySQL proxy 6.0版本 上面如果想要读写分离并且 读集群.写集群 机器比较多情况下,用mysql pro ...

  6. mysql基于mysql-proxy和amoeba的读写分离以及tcpdump+wireshark工具验证(上)

    mysql基于mysql-proxy和amoeba的读写分离 以及tcpdump+wireshark工具验证 [实验部署准备] 1,首先对后端节点部署主从关系. 2,然后前端MySQL-proxy对后 ...

  7. MySQL 案例实战--MySQL 基于Mycat实现读写分离

    MySQL 基于Mycat实现读写分离 前言 一.什么是读写分离? 二.MySQL 读写分离解决方案 三.MySQL 基于Mycat实现读写分离 四.Mycat-web 管理部署 前言 本环境是基于 ...

  8. 高性能高可用MySQL(主从同步,读写分离,分库分表,去中心化,虚拟IP,心跳机制)

    高性能高可用MySQL(主从同步,读写分离,分库分表,去中心化,虚拟IP,心跳机制) 视频地址:https://www.bilibili.com/video/BV1ry4y1v7Tr?p=8& ...

  9. java spring mysql配置_java相关:mysql+spring+mybatis实现数据库读写分离的代码配置

    java相关:mysql+spring+mybatis实现数据库读写分离的代码配置 发布于 2020-4-4| 复制链接 分享一篇关于关于mysql+spring+mybatis实现数据库读写分离的代 ...

  10. Mysql主从配置,实现读写分离

    大型网站为了软解大量的并发访问,除了在网站实现分布式负载均衡,远远不够.到了数据业务层.数据访问层,如果还是传统的数据结构,或者只是单单靠一台服务器扛,如此多的数据库连接操作,数据库必然会崩溃,数据丢 ...

最新文章

  1. MySQL中查询的看到的日期和Java程序查询出来的日期差了几个小时
  2. HTTP协议通信原理 (资源)
  3. 清华大学人工智能研究院成立大数据智能研究中心
  4. 每天一道LeetCode-----将字符串切分成若干单词,使得每个单词都在给定的字典中,求出所有的切分结果
  5. ReentrantLock 分析
  6. Linux—解压缩命令总结(tar/zip)
  7. 关于Android的Service知识点,你知道吗?
  8. idea生成有参构造的快捷键,idea生成有参构造的快捷键_Idea_学习_09_Idea 方法自动生成参数默认名...
  9. PHP学习之六:预定义常量
  10. [Swift]LeetCode1044. 最长重复子串 | Longest Duplicate Substring
  11. 【霜雪千年】MMD动作镜头下载
  12. 博科光纤交换机IP+端口策略应用
  13. Java代码实现幸运抽奖
  14. JavaWeb - 小米商城:用户注册
  15. Elastic Searchable snapshot功能初探 三 (frozen tier)
  16. SQL Server 基础操作(五)导入和导出数据表
  17. DO-214AC封装尺寸图
  18. 2t3ik与ddgs挖矿病毒处理
  19. TLink 工业物联网平台,支持云组态、实时计算、微信告警
  20. [NL系列] RNN LSTM 网络结构及应用

热门文章

  1. 解决mysql开启GTID主从同步出现1236错误问题
  2. Android系统的system/app和system/priv-app
  3. spring boot中mybatisPlus代码生成器源码
  4. 华三交换机ping不通用户但用户_h3c交换机如何一直 ping【已解决】
  5. 宠物狗行走手机应用市场现状研究分析-
  6. Word转换PDF的三种方法使用教程
  7. Element-UI Select 下拉框 根据汉字拼音过滤选择选项(使用filter-method,filterable属性)
  8. 边缘的容器化 — WasmEdge 与 seL4
  9. VMware虚拟机中下载安装CentOS 7
  10. 无电流时二极管压降问题