废话不说,直接开始:

一、安装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. phpcms后台添加会员报v9_sso_member表缺失

    坑货..表前缀设置 两个地方都有 一个是默认的caches/configs/目录 还有个是phpsso_server/caches/configs/ 如果改了表前缀 这两个地方的database都要改 ...

  2. Oracle查询显示CLOB的内容

    select dbms_lob.substr(note)  from table

  3. 获取Xshell Xftp等官网下载地址

    1. 首先还是得填写邮箱获取试用链接地址,例如我这次获取的是: https://cdn.netsarang.net/c5711331/Xshell-6.0.0175.exe 关键需要记下 c57113 ...

  4. 利用js对象将iframe数据缓存, 实现子页面跳转后, 返回时不丢失之前填写的数据

    利用js对象将iframe数据缓存, 实现子页面跳转后, 返回时不丢失之前填写的数据 实现描述:将数据存放在js对象中, 然后放在父页面的document对象中, 在页面刷新的时候将父页面的值取出来, ...

  5. 搭建Leanote笔记

    mongo\leanote #查询Linux开放的端口 netstat -nupl (UDP类型的端口) netstat -ntpl (TCP类型的端口) #下载安装MongoDB wget http ...

  6. 2.3负载均衡:Ribbon

    基于上一篇文章的工程,启动eureka-server 工程:启动service-hi工程,它的端口为8765:将service-hi的配置文件的端口改为8763,并启动,这时你会发现:service- ...

  7. Ubuntu 18.04修改默认源为国内源

    安装Ubuntu 18.04后,使用国外源太慢了,修改为国内源会快很多. 修改阿里源为Ubuntu 18.04默认的源 备份/etc/apt/sources.list 备份 cp /etc/apt/s ...

  8. python学习-4 python基础-2 条件语句(if的简单用法1)

    条件语句的原理: 2.举个例子:比大小 #!/usr/bin/env python # -*- coding:utf8 -*- a=input("请输入a:") b=input(& ...

  9. Beautifulsoup模块基础用法详解

    目录 Beautifulsoup模块 官方中文文档 介绍 基本使用 遍历文档树 搜索文档树 五种过滤器 **find_all( name , attrs , recursive , text , ** ...

  10. python — 池

    1. 池 池分为:进程池.线程池 池:预先的开启固定个数的进程数/线程数,当任务来临的时候,直接提交给已经开好的进程 / 线程,让这个进程 / 线程去执行就可以了. 池节省了进程.线程的开启.关闭.切 ...