`
wocan23
  • 浏览: 1194 次
社区版块
存档分类
最新评论

mysql基于amoeba读写分离

 
阅读更多
1.主从同步,不详细说
2.下载amoeba包amoeba-mysql-0.19.tar.gz
3.解压文件 tar -zxvf amoeba-mysql-0.19.tar.gz
4.配置JAVA_HOME
5.修改配置文件,在conf下,相应修改amoeba.xml中内容
   <server> 
    <!-- proxy server绑定的端口 --> 
    <property name="port">8066</property> 
     
    <!-- proxy server绑定的IP --> 
    <!-- 
    <property name="ipAddress">127.0.0.1</property>
     --> 
    <!-- proxy server net IO Read thread size --> 
    <property name="readThreadPoolSize">20</property> 
     
    <!-- proxy server client process thread size --> 
    <property name="clientSideThreadPoolSize">30</property> 
     
    <!-- mysql server data packet process thread size --> 
    <property name="serverSideThreadPoolSize">30</property> 
     
    <!-- socket Send and receive BufferSize(unit:K)  --> 
    <property name="netBufferSize">128</property> 
     
    <!-- Enable/disable TCP_NODELAY (disable/enable Nagle's algorithm). --> 
    <property name="tcpNoDelay">true</property> 
     
    <!-- 对外验证的用户名 --> 
    <property name="user">root</property> 
     
    <!-- 对外验证的密码 --> 
    <property name="password">root</property> 
</server> 
   <dbServerList> 
    <dbServer name="server1">          
        <!-- PoolableObjectFactory实现类 --> 
        <factoryConfig class="com.meidusa.amoeba.mysql.net.MysqlServerConnectionFactory"> 
            <property name="manager">defaultManager</property> 
             
            <!-- 真实mysql数据库端口 --> 
            <property name="port">3306</property> 
             
            <!-- 真实mysql数据库IP --> 
            <property name="ipAddress">10.20.147.110</property> 
            <property name="schema">amoeba_study</property> 
             
            <!-- 用于登陆mysql的用户名 --> 
            <property name="user">root</property> 
             
            <!-- 用于登陆mysql的密码 --> 
            <property name="password"></property> 
             
        </factoryConfig> 
         
        <!-- ObjectPool实现类 --> 
        <poolConfig class="com.meidusa.amoeba.net.poolable.PoolableObjectPool"> 
            <property name="maxActive">200</property> 
            <property name="maxIdle">200</property> 
            <property name="minIdle">10</property> 
            <property name="minEvictableIdleTimeMillis">600000</property> 
            <property name="timeBetweenEvictionRunsMillis">600000</property> 
            <property name="testOnBorrow">true</property> 
            <property name="testWhileIdle">true</property> 
        </poolConfig> 
    </dbServer> 
    <dbServer name="server2"> 
         
        <!-- PoolableObjectFactory实现类 --> 
        <factoryConfig class="com.meidusa.amoeba.mysql.net.MysqlServerConnectionFactory"> 
            <property name="manager">defaultManager</property> 
             
            <!-- 真实mysql数据库端口 --> 
            <property name="port">3306</property> 
             
            <!-- 真实mysql数据库IP --> 
            <property name="ipAddress">10.20.147.111</property> 
            <property name="schema">amoeba_study</property> 
             
            <!-- 用于登陆mysql的用户名 --> 
            <property name="user">root</property> 
             
            <!-- 用于登陆mysql的密码 --> 
            <property name="password"></property> 
             
        </factoryConfig> 
         
        <!-- ObjectPool实现类 --> 
        <poolConfig class="com.meidusa.amoeba.net.poolable.PoolableObjectPool"> 
            <property name="maxActive">200</property> 
            <property name="maxIdle">200</property> 
            <property name="minIdle">10</property> 
            <property name="minEvictableIdleTimeMillis">600000</property> 
            <property name="timeBetweenEvictionRunsMillis">600000</property> 
            <property name="testOnBorrow">true</property> 
            <property name="testWhileIdle">true</property> 
        </poolConfig> 
    </dbServer>        
</dbServerList> 
<queryRouter class="com.meidusa.amoeba.mysql.parser.MysqlQueryRouter"> 
    <property name="LRUMapSize">1500</property> 
    <property name="defaultPool">server1</property> 
    <property name="writePool">server1</property> 
    <property name="readPool">server2</property> 
    <property name="needParse">true</property> 
</queryRouter>

6.启动amoeba  进入amoeba的bin目录下./amoeba,如出现以下则说明启动成功
  log4j:WARN log4j config load completed from file:/root/amoeba/conf/log4j.xml
log4j:WARN ip access config load completed from file:/root/amoeba/conf/access_list.conf
2016-04-16 08:30:43,096 INFO  net.ServerableConnectionManager - Server listening on 0.0.0.0/0.0.0.0:8066.
7测试连接:
  根据配置文件暴漏的用户名和密码登录mysql,mysql -h代理IP -u代理用户名 -p代理密码 -P8066,如出现以下测试说明成功
   2016-04-16 08:43:10,583 INFO  net.ConnectionManager - Connection Authenticate success [ conn=com.meidusa.amoeba.mysql.net.MysqlClientConnection@Socket[addr=/192.168.80.113,port=38999,localport=8066], hashcode=29112607].

注意:1.防火墙必须关闭,否则连接不上
      2.实际数据库的账号必须允许远程登录



分享到:
评论

相关推荐

    MySQL搭建Amoeba_读写分离.docx

    Amoeba 是一个基于 MySQL 的 proxy,能够集中地响应应用的请求,并根据用户事先设置的规则,将 SQL 请求发送到特定的数据库上执行,从而实现负载均衡、读写分离、高可用性等需求。 一、Amoeba 简介 Amoeba 是一个...

    linux下mysql amoeba读写分离配置

    这里我们将探讨如何配置MySQL主从复制,以及使用Amoeba或MySQL-Proxy进行读写分离。 首先,让我们了解主从复制的基本原理。主从复制是一种异步复制模式,其中一台MySQL服务器(主服务器)处理所有的写操作,而其他...

    amoeba 读写分离 配置说明

    ### Amoeba 读写分离配置详解 #### 一、配置前的准备工作 为了实现数据库的读写分离,首先需要确保所有的服务器均处于同一局域网内,并且完成以下准备工作: 1. **主机A(Amoeba服务器)**: - 安装 Java SE 1.6 ...

    mysql读写分离amoeba配置文件

    mysql读写分离 中间件amoeba配置文件配置号的改几个参数就可以直接用https://blog.csdn.net/z13615480737/article/details/79951505 参考这个改2个文件就可直接用

    Amoeba搞定mysql主从读写分离

    Amoeba是一款开源的MySQL中间件,专为实现主从读写分离而设计。在Java开发环境中,Amoeba的使用能够帮助开发者构建出高效、稳定的分布式数据库系统。 首先,了解Amoeba的工作原理至关重要。Amoeba作为透明的数据分...

    Amoeba+mysql 读写分离 Keepalived+mysql

    这里我们主要探讨的是如何使用Amoeba与MySQL实现读写分离,以及如何利用Keepalived来构建MySQL的高可用集群。这两部分内容对于保障数据库服务的稳定性和效率至关重要。 **Amoeba+MySQL 读写分离** Amoeba 是一个...

    使用mysql-proxy实现mysql读写分离

    ### 使用mysql-proxy实现MySQL读写分离 随着业务规模的不断扩大,数据库系统往往成为整个系统中的瓶颈之一。为了提高系统的响应速度以及数据处理能力,一种常用的技术手段就是采用**读写分离**的方式。读写分离的...

    amoeba_mysql读写分离部署说明.docx

    Amoeba MySQL 读写分离部署说明 Amoeba 是一款专为 MySQL 设计的中间件,用于实现数据库的读写分离和负载均衡。它的主要功能是接收应用程序的 SQL 请求,根据预设规则将这些请求转发到合适的 MySQL 实例上执行,...

    mysql读写分离

    本文将详细介绍MySQL读写分离的概念、实现方式以及基于Amoeba的配置示例。 #### 二、MySQL 读写分离概述 **读写分离**是一种数据库优化手段,其核心思想是将数据的读取操作与写入操作分离到不同的服务器上执行。...

    MySQL主从同步与读写分离配置图文详解

    amoeba是一款开源的读写分离中间件,适用于MySQL数据库。 ```bash wget http://amoeba.googlecode.com/files/amoeba-3.0.5.tar.gz tar -zxvf amoeba-3.0.5.tar.gz cd amoeba-3.0.5/ ``` ##### 2、修改配置文件 ...

    mysql读写分离实现

    ### MySQL读写分离实现 #### 一、MySQL读写分离概述 MySQL的读写分离是一种常用的数据库优化技术,主要用于提高数据库系统的并发处理能力和可用性。它通过将数据查询(读操作)与数据更新(写操作)分布在不同的...

    windows平台用amoeba实现读写分离

    具有负载均衡、高可用性、SQL 过滤、读写分离、可路由相关的到目标数据库、可并发请求多台数据库合并结果。 通过Amoeba能够完成多数据源的高可用、负载均衡、数据切片的功能,目前Amoeba已在很多企业的生产线上面...

    使用amoeba实现mysql读写分离.md

    使用amoeba实现mysql读写分离.md

    详解如何利用amoeba(变形虫)实现mysql数据库读写分离

    在众多实现读写分离的方案中,Amoeba(变形虫)是阿里巴巴推出的一种基于Java的解决方案,它提供了更高效和稳定的性能。 Amoeba的工作原理是,它作为一个中间代理服务,接收来自应用的SQL请求,然后根据预设的策略...

    amoeba同时做读写分离和水平切分

    这是针对amoeba for mysql的一个具体案例,实现水平切分和读写分离

    使用amoeba搭建mysql读写分离

    配合docker_mn.sh 主从复制和jdk1.8.sh jdk安装脚本 可以搭建mysql数据库的读写分离

Global site tag (gtag.js) - Google Analytics