CentOS系统 Amoeba+MySql主从读写分离配置 适合新手傻瓜式教程!-----仅供参考!
废话不说,直接开始:
一、安装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主从读写分离配置 适合新手傻瓜式教程!-----仅供参考!的更多相关文章
- Amoeba实现mysql主从读写分离
Amoeba实现mysql主从读写分离 这段在网上看了下关于amoeba的文章,总体感觉好像要比mysql-proxy好的多,也参考了不少的资料,此文章可能与其他文章作者会有雷同的地方,请谅解,但是此 ...
- Amoeba搞定mysql主从读写分离
前言:一直想找一个工具,能很好的实现mysql主从的读写分离架构,曾经试用过mysql-proxy发现lua用起来很不爽,尤其是不懂lua脚本,突然发现了Amoeba这个项目,试用了下,感觉还不错,写 ...
- laravel学习:主从读写分离配置的实现
本篇文章给大家带来的内容是关于laravel学习:主从读写分离配置的实现,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 在DB的连接工厂中找到以下代码.../vendor/larav ...
- MySQL/MariaDB读写分离配置
DB读写分离描述 数据库的读写分离其实就是为了加减少数据库的压力:数据库的写入操作由主数据库来进行,读取操作由从数据库来进行操作.实现数据库读写分离技术是有很多方法的,在这里我就用一个比较简单的mys ...
- 基于Amoba实现mysql主从读写分离
一.Amoeba简介 Amoeba是一个以MySQL为底层数据存储,并对应用提供MySQL协议接口的proxy.它集中地响应应用的请求,依据用户事先设置的规则,将SQL请求发送到特 ...
- Mycat实现Mysql主从读写分离
一.概述 关于Mycat的原理网上有很多,这里不再详述,对于我来说Mycat的功能主要有如下几种: 1.Mysql主从的读写分离 2.Mysql大表分片 3.其他数据库例如Oracle,MSSQL,D ...
- Amoeba+Mysql 实现读写分离
About Amoeba Amoeba可译为阿米巴.变型虫Amoeba是一个开源项目,致力于Mysq的分布式数据库前端代理层Amoeba是一个以MySQL为底层数据存储,并对应用提供MySQL协议接口 ...
- Mysql数据库读写分离配置
环境模拟 实现读写分离 减轻数据库的负荷 主服务器 master 10.0.0.12 从服务器 slave 10.0.0.66 配置主服务器: 在10.0.0.12服务器操作 创建数据 ...
- (转)Mysql数据库读写分离配置
环境模拟 实现读写分离 减轻数据库的负荷 主服务器 master 10.0.0.12从服务器 slave 10.0.0.66 ------------------------------------- ...
随机推荐
- mudos源码分析
错误捕捉相关的代码在simulate.c void throw_error() { )->framekind & FRAME_MASK) == FRAME_CATCH) { LONGJM ...
- xhprof代码添加分析性能
<?php xhprof_enable( XHPROF_FLAGS_MEMORY, [ 'ignored_functions' => [ //'call_user_func', //'ca ...
- windows是下安装nvmw
nvmw:Windows环境下的node多版本管理工具. 安装: 1. git clone https://github.com/hakobera/nvmw.git 2.修改环境变量 计算机 -&g ...
- Docker-compose容易忽略的使用细节
Docker-compose是docker官方的开源项目,通过使用模版yaml文件,实现对docker容器集群的管理.具体教程可以通过官方地址进行实践.Docker-compose主要有两个重要的概念 ...
- AbstractQueuedSynchronizer 源码解读(转载)
转载文章,拜读了一下原文感觉很不错,转载一下,侵删 链接地址:http://objcoding.com/2019/05/05/aqs-exclusive-lock/ Java并发之AQS源码分析(一) ...
- httpurlConnection客户端发送文件与服务端接受文件
import java.io.BufferedReader; import java.io.ByteArrayOutputStream; import java.io.DataInputStream; ...
- bootstrap基础学习【菜单、按钮、导航】(四)
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- 关于element中的父子组件的传值问题
首先讲一下父子组件的传值问题. 这是大家很熟悉的一张图,讲述了父子组件传值的过程.父组件通过prop传值给子组件,子组件通过$emit给父组件发送消息来使父组件的prop发生变化.这都是老生常谈了.下 ...
- 47.前端css学习、登陆页面的制作
CSS: 有了CSS,html中大部分表现样式的标签就可以不用了 html只负责文档的结构和内容,表现形式完全交给CSS,html文档变得更加简洁 CSS的引入方式: 内联式引入:直接赋予标签styl ...
- vue首页组件切换
结构如下 代码如下: <template> <div id="page"> <div style="width: 100%" cl ...