废话不说,直接开始:

一、安装mysql的三种方式,这里采用第2种(安装方式不再详解,请参照)

http://www.cnblogs.com/babywaa/articles/4837946.html

1、rpm安装
2、源码安装
3、通用二进制源码安装

环境准备

192.168.5.10    master1

192.158.5.20    slave1

二、配置master服务器,192.168.5.10
1、
第一步:登陆mysql,给root账号添加密码                //参考命令:SETPASSWORD = PASSWORD('pasword');
第二步:查看mysql版本号                     //参考命令:select version();
第三步:添加Slave到本机同步的远程账号               //参考命令:GRANT REPLICATION SLAVE ON *.* TO 'slave'@'192.168.5.10' IDENTIFIED BY 'SLAVE';
第四部:查看当前mysql的所有用户                 //参考命令:select user,host,password from mysql.user;
第五步:删除账号密码都为空的localhost账号             //参考命令:drop user ''@'localhost';
第六部:删除账号密码都为空的iz25ogxahfrz账号         //参考命令:drop user ''@'iz25ogxahfrz';
第七步:退出mysql                           //参考命令:\q

2、编辑my.cnf配置文件                                                       //参考命令:vim my.cnf

3、
第一步:重启mysql服务                                                        //参考命令:service mysql restart
第二步:以root用户+密码登陆mysql                                      //参考命令:mysql -uroot -ppassword
第三步:查看master的ID号                                                  //参考命令:SHOW VARIABLES LIKE 'service_id';
第四部:查看当前master的File+pos信息,并记录下来             //参考命令:show master status;

三、配置Slave服务器,192.168.5.20
1、
第一步:登陆mysql,给root账号添加密码                                  //参考命令:SETPASSWORD = PASSWORD('pasword');
第二步:查看mysql版本号                                                       //参考命令:select version();
第三步:查看当前mysql的所有用户                                           //参考命令:select user,host,password from mysql.user;
第四步:删除账号密码都为空的localhost账号                             //参考命令:drop user ''@'localhost';
第五部:删除账号密码都为空的iz25i0yer0yz账号                       //参考命令:drop user ''@'iz25i0yer0yz';
第六步:退出mysql                                                               //参考命令:\q

2、编辑slave服务器my.cnf配置文件                                      //参考命令:vim my.cnf

3、
第一步:重启mysql服务                                                       //参考命令:service mysql restart
第二步:查看slave服务器的ID号               //参考命令:SHOW VARIABLES LIKE 'service_id';
第三步:查看slave同步状态                 //参考命令:show slave status\G
第四部:关闭slave服务器,防止增删改查。          //参考命令:stop slave;
第五步:配置slave如何同步master的数据             //参考命令:change master to master_host='192.168.5.10', master_user='slave', master_password='slave', master_port=3306, master_log_file='master_bin.000001', master_log_pos=120;
第六部:打开slave服务器的各项功能             //参考命令:start slave;

4、查看slave的同步状态                   //参考命令:show slave status\G

mysql主从配置完毕

 四、安装Amoeba:依赖JAVA环境

JAVA安装
1、安装

2、给amoeba授权一个mysql远程账户
mysql> GRANT ALL PRIVILEGES ON *.* TO 'amoeba'@'192.168.5.30' IDENTIFIED BY 'amoeba' WITH GRANT OPTION;

五、安装Amoeba:


六、配置:
1、配置Amoeba下的dbServers.xml

2、配置Amoeba下的amoeba.xml

七、启动Amoeba:
1、【最好是先用当前方式启动,能够看到启动是否有错误,排查完错误后在后台启动】
网上查了一些资料:JDK7启动对xss参数有最小值要求,必须大于228才能启动JVM
解决:
设置 -Xss256k 即可解决

 #JVM_OPTIONS="-server -Xms256m -Xmx1024m -Xss196k -XX:PermSize=16m -XX:MaxPermSize=96m"
JVM_OPTIONS="-server -Xms1024m -Xmx1024m -Xss256k -XX:PermSize=16m -XX:MaxPermSize=96m"

# vim /usr/local/amoeba/jvm.properties


2、再次启动:又报错误,请细看


3、上图所示:我没有用正常的关闭方式关闭Amoeba服务导致的错误
然后KILL进程之后竟然不抱错误了
所以这次长教训了
关闭Amoeba:
# /usr/local/amoeba/bin/shutdown
后台启动并把输出日志保存到/var/log/amoeba.log
# /usr/local/amoeba/bin/launcher > /var/log/amoeba.log 2>&1 &


八、登陆测试:
1、由于30机器上并没有安装mysql,所以找一台装有mysql的机器进行测试
mysql -uamoeba -p123456 -h192.168.0.251 -P8066 //指定端口的-P是大写的,不=同于其它。一定要注意大小写


2、登陆成功,请自由测试。
测试方法: (1)amoeba创建库然后分别登陆master、slave查看是否有刚创建的库
(2)stop master的mysql,再slave上创建库,不能则表示成功
(3)网上有更好的测试方法,不在一一列举。请自行查找。
九、Amoeba+MySql主从分离配置完毕!

CentOS系统 Amoeba+MySql主从读写分离配置 适合新手傻瓜式教程!-----仅供参考!的更多相关文章

  1. Amoeba实现mysql主从读写分离

    Amoeba实现mysql主从读写分离 这段在网上看了下关于amoeba的文章,总体感觉好像要比mysql-proxy好的多,也参考了不少的资料,此文章可能与其他文章作者会有雷同的地方,请谅解,但是此 ...

  2. Amoeba搞定mysql主从读写分离

    前言:一直想找一个工具,能很好的实现mysql主从的读写分离架构,曾经试用过mysql-proxy发现lua用起来很不爽,尤其是不懂lua脚本,突然发现了Amoeba这个项目,试用了下,感觉还不错,写 ...

  3. laravel学习:主从读写分离配置的实现

    本篇文章给大家带来的内容是关于laravel学习:主从读写分离配置的实现,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 在DB的连接工厂中找到以下代码.../vendor/larav ...

  4. MySQL/MariaDB读写分离配置

    DB读写分离描述 数据库的读写分离其实就是为了加减少数据库的压力:数据库的写入操作由主数据库来进行,读取操作由从数据库来进行操作.实现数据库读写分离技术是有很多方法的,在这里我就用一个比较简单的mys ...

  5. 基于Amoba实现mysql主从读写分离

    一.Amoeba简介           Amoeba是一个以MySQL为底层数据存储,并对应用提供MySQL协议接口的proxy.它集中地响应应用的请求,依据用户事先设置的规则,将SQL请求发送到特 ...

  6. Mycat实现Mysql主从读写分离

    一.概述 关于Mycat的原理网上有很多,这里不再详述,对于我来说Mycat的功能主要有如下几种: 1.Mysql主从的读写分离 2.Mysql大表分片 3.其他数据库例如Oracle,MSSQL,D ...

  7. Amoeba+Mysql 实现读写分离

    About Amoeba Amoeba可译为阿米巴.变型虫Amoeba是一个开源项目,致力于Mysq的分布式数据库前端代理层Amoeba是一个以MySQL为底层数据存储,并对应用提供MySQL协议接口 ...

  8. Mysql数据库读写分离配置

    环境模拟 实现读写分离 减轻数据库的负荷 主服务器  master   10.0.0.12 从服务器 slave    10.0.0.66 配置主服务器: 在10.0.0.12服务器操作   创建数据 ...

  9. (转)Mysql数据库读写分离配置

    环境模拟 实现读写分离 减轻数据库的负荷 主服务器 master 10.0.0.12从服务器 slave 10.0.0.66 ------------------------------------- ...

随机推荐

  1. Spring Aop(十)——编程式的Pointcut

    转发地址:https://www.iteye.com/blog/elim-2396526 编程式的Pointcut 除了可以通过注解和Xml配置定义Pointcut之外,其实我们还可以通过程序来定义P ...

  2. postman+jmeter接口实例

    接口基础 一.为什么要单独测试接口? 1. 程序是分开开发的,前端还没有开发,后端已经开发完了,可以提前进入测试2. 接口直接返回的数据------越底层发现bug,修复成本是越低的3. 接口测试能模 ...

  3. vue-cli3项目运行时一直发http://localhost:8080/sockjs-node/info?t=1462183700002请求

    报错如下图: 解决方式: 一.如果是在开发环境,应该是开发的时候网络环境变更导致,比如你切换无线网络,导致开发服务器的IP地址换了,这样开发服务器会不知道如何确定访问源.开发环境中关闭npm dev ...

  4. git命令自动补全

    git安装好后发现命令不能自动补全于是搜了很多方法,先按博客里面的方法试了下: 1.下载配置文件 git clone git://git.kernel.org/pub/scm/git/git.git ...

  5. Github搭建个人博客的总结

    1.  参考 这个 博客 : https://blog.csdn.net/xudailong_blog/article/details/78762262 2. 把上面按照的就安装,并把git 仓库克隆 ...

  6. Linux特基础的知识(接上一条)

    grep:文本过滤工具(找到要找的文本) print lines matching a pattern例: 打印 行 匹配 一个 模式/样式[root@oldboyedu /opt]# grep &q ...

  7. js中的var a = new A;与var a = new A()的区别

    JavaScript 中的new关键字与C#,JAVA中的概念完全不一样.  例:var a=new A();  让我们来看看在JavaScript中的new发生了什么?  var a={};//建立 ...

  8. 2.6 数据库更新特定字段SQL/语句块

    1.更新单表中某一字段 1.1适用于单条或者因为in条件1-1000条数据 下面是更改CMS_CONTRACT_INFO 表中合同编号为CMCC987最后更新时间为当前时间,或者注释里特定时间. UP ...

  9. Shell脚本之流程控制(if、for、while)

    if 判断 if语句的三种格式: (1)if (2)if else (3)if elif else 语法格式如下: #if 语法格式 if 条件 then 命令1... 命令2... fi #if e ...

  10. [翻译] 深入浅出Go语言调度器:第一部分 - 系统调度器

    目录 译者序 序 介绍 系统调度器 执行指令 Figure 1 Listing 1 Listing 2 Listing 3 线程状态 任务侧重 上下文切换 少即是多 寻找平衡 缓存行 Figure 2 ...