废话不说,直接开始:

一、安装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. CentOS7做ssh免密登录

    (1)实验环境 两台CentOS7: youxi1 192.168.1.6 youxi2 192.168.1.7 这里我将防火墙关闭进行实验,如果防火墙开启,请将端口加入到防火墙规则中. (2).目标 ...

  2. EasyUI入门配置

    EasyUI是一款基于jQuery的前端插件,简化了开发,免去编写复杂的js和css即可实现不错的显示效果. 基本配置: index.html <!DOCTYPE html> <ht ...

  3. 生产者-消费者问题与quene模块

    生产者-消费者问题与quene模块 下面使用线程锁以及队列来模拟一个典型的案例:生产者-消费者模型.在这个场景下,商品或服务的生产者生产商品,然后将其放到类似队列的数据结构中,生产商品的时间是不确定的 ...

  4. Flutter 常用组件

    无状态组件(StatelessWidget)是不可变的,这意味着它的属性不能改变,所有的值都是最终的. 有状态组件(StatefulWidget)持有的状态可能在Widget生命周期中发生变化.实现一 ...

  5. OpenCV_CS.测试

    1.在C#中使用OpenCV(使用OpenCVSharp) - jsxyhelu - 博客园.html(https://www.cnblogs.com/jsxyhelu/p/9669583.html) ...

  6. 最新 小米java校招面经 (含整理过的面试题大全)

    从6月到10月,经过4个月努力和坚持,自己有幸拿到了网易雷火.京东.去哪儿.小米等10家互联网公司的校招Offer,因为某些自身原因最终选择了小米.6.7月主要是做系统复习.项目复盘.LeetCode ...

  7. 洛谷 题解 P4955 【[USACO14JAN]Cross Country Skiing 越野滑雪】

    二分+DFS 看到这么多大佬写了并查集,BFS的,还没有人写DFS版的,那么肯定是要来水水积分的啦毕竟这可是道伪紫题呢! 做法楼上楼下也讲得很清楚了吧,详见代码的注释 #include<bits ...

  8. HDU6582 Path【优先队列优化最短路 + dinic最大流 == 最小割】

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6582 来源:2019 Multi-University Training Contest 1 题目大意 ...

  9. Spring mybatis源码篇章-动态SQL基础语法以及原理

    通过阅读源码对实现机制进行了解有利于陶冶情操,承接前文Spring mybatis源码篇章-Mybatis的XML文件加载 前话 前文通过Spring中配置mapperLocations属性来进行对m ...

  10. quartz报错 org.quartz.impl.StdSchedulerFactory.

    quartz任务执行报错 Exception in thread "main" java.lang.NoClassDefFoundError: org/slf4j/LoggerFa ...