使用Atlas实现MySQL读写分离+MySQL-(Master-Slave)配置
参考博文:
MySQL-(Master-Slave)配置 本人按照博友北在北方的配置已成功 我使用的是 mysql5.6.27版本。
[转] MySQL主从复制(Master-Slave)与读写分离(MySQL-Proxy)实践 博文中的数据迁移(主从复制)挺好
配置中 又进一步对mysql5.6的日志进行了了解 :mysql日志详细解析
1.安装
注意:只能安装在64位的Linux操作系统上,CentOS官方建议rpm安装方式
获取地址:https://github.com/Qihoo360/Atlas/releases
目前最新的版本为:
Atlas-2.2.1.el5.x86_64.rpm CentOS 5.* 版本
Atlas-2.2.1.el6.x86_64.rpm CentOS 6.* 版本
安装命令:
[root@jhq0229 src]# rpm -i Atlas-2.2.1.el6.x86_64.rpm
安装位置:
/usr/local/mysql-proxy
配置文件:
/usr/local/mysql-proxy/conf/test.cnf
2、编写简单Atlas的启动脚本:
[root@jhq0229 ~]# vim /etc/init.d/atlas
#!/bin/sh
#
#atlas: Atlas Daemon
#
# chkconfig: -
# description: Atlas Daemon
#
# Source function library.
start()
{
echo -n $"Starting atlas: "
/usr/local/mysql-proxy/bin/mysql-proxyd test start
echo
}
stop()
{
echo -n $"Shutting down atlas: "
/usr/local/mysql-proxy/bin/mysql-proxyd test stop
echo
}
ATLAS="/usr/local/mysql-proxy/bin/mysql-proxyd"
[ -f $ATLAS ] || exit
# See how we were called.
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
sleep 1
start
;;
*)
echo $"Usage: $0 {start|stop|restart}"
exit
esac
exit
授权并加入开机启动
[root@jhq0229 ~]# chmod +x /etc/init.d/atlas
[root@jhq0229 ~]# chkconfig atlas on 启动atlas服务
[root@jhq0229 ~]# service atlas start
3、注意事项
3.1 主master上的 mysql 重新启动
主master上的 mysql 每重新启动一次 配置在master 上的 “在master上查看 binary log文件名和 position”就会发生改变:如下
mysql> show master status;
+------------------+----------+--------------+------------------+-------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+----------+--------------+------------------+-------------------+
| mysql-bin.000005 | 276 | | | |
+------------------+----------+--------------+------------------+-------------------+
1 row in set (0.00 sec)
重新启动mysql服务后:
mysql> show master status;
ERROR 2006 (HY000): MySQL server has gone away
No connection. Trying to reconnect...
Connection id: 3
Current database: mysql +------------------+----------+--------------+------------------+-------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+----------+--------------+------------------+-------------------+
| mysql-bin.000006 | 120 | | | |
+------------------+----------+--------------+------------------+-------------------+
1 row in set (0.08 sec)
这就会导致 从slave上的配置失效,从而导致主-从无法同步:所以每次重新启动 主(master)上的mysql服务都需要修改 从(slave)上的配置。目前只能这么做具体需要怎么改 再研究。
mysql> change master to master_host='192.168.29.128',master_user='repl',master_password='123456',master_port=3306,master_log_file='mysql-bin.000006',master_log_pos=120,master_connect_retry=10;
Query OK, 0 rows affected, 2 warnings (0.30 sec)
3.2 从slave上的 mysql 重新启动
从slave上的 mysql 重新启动 会导致 主从配置失效无法完成写同步功能,所以需要重启 mysql服务后 ,重新启动 slave ;
使用Atlas实现MySQL读写分离+MySQL-(Master-Slave)配置的更多相关文章
- 三十五.MySQL读写分离 MySQL多实例 、MySQL性能调优
1.实现MySQL读写分离 搭建一主一从结构 配置maxscale代理服务器 测试分离配置 1.1 搭建一主一从结构 192.168.4.51 主 192.168.4.52 从 测试OK 1. ...
- mysql读写分离 主从同步
MySQL主从复制与读写分离的实现 转载 2013年01月17日 18:20:12 MySQL主从复制与读写分离 MySQL主从复制(Master-Slave)与读写分离(MySQL-Proxy) ...
- 基于MYCAT中间件实现MYSQL读写分离
基于mycat实现mysql读写分离 完成主从复制的配置 /* 主节点:192.168.47.101 从节点:192.168.47.102 */ /*mycat为同一网段客户端*/ /* 修改主节点基 ...
- [记录]MySQL读写分离(Atlas和MySQL-proxy)
MySQL读写分离(Atlas和MySQL-proxy) 一.阿里云使用Atlas从外网访问MySQL(RDS) (同样的方式修改配置文件可以实现代理也可以实现读写分离,具体看使用场景) 1.在跳板机 ...
- mysql读写分离总结
随着一个网站的业务不断扩展,数据不断增加,数据库的压力也会越来越大,对数据库或者SQL的基本优化可能达不到最终的效果,我们可以采用读写分离的策略来改变现状.读写分离现在被大量应用于很多大型网站,这个技 ...
- mysql读写分离实战
一个完整的MySQL读写分离环境包括以下几个部分: 应用程序client database proxy database集群 在本次实战中,应用程序client基于c3p0连接后端的database ...
- 使用Amoeba实现mysql读写分离机制
Amoeba的实用指南 http://docs.hexnova.com/amoeba/ 如何实现mysql读写分离 : 通常来说有两种方式: 1,应用程序层实现 2,中间件层实现 应用层实现 应用层实 ...
- mysql读写分离--一主多从,冗余存储
转载了https://blog.csdn.net/u013421629/article/details/78793966 https://blog.csdn.net/justdb/article/de ...
- LVS+MYCAT+读写分离+MYSQL主备同步部署手册
LVS+MYCAT+读写分离+MYSQL主备同步部署手册 1 配置MYSQL主备同步…. 2 1.1 测试环境… 2 1.2 配置主数据库… 2 1.2.1 ...
随机推荐
- .net format 中 大括号{}处理
1.string string.format(string format,object arg0) 错误:因为方法中使用{n}做占位符号了,所以其他需要括号{}的地方,就需要{{}}
- jQuery File Upload 插件 php代码分析
jquery file upload php代码分析首先进入构造方法 __construct() 再进入 initialize()因为我是post方式传的数据 在进入initialize()中的po ...
- ASCII码图
图片转ASCII码图 效果图 基本思路 把图片每个像素点的信息拿出来,最重要的是拿到rgb的值 把每个像素点由rgb转成灰度图像,即0-255 给0-255分级,把每个等级的像素点转换成ascii ...
- RII K25A 语音空中飞鼠 红外学习步骤
1.按住多功能遥控器上的SET按键,超过4秒不要放手,LED指示灯会闪一次,然后长亮.2.将多功能遥控器的红外口对准你原来的遥控器的红外口,然后按RII多功能遥控器面上任何按钮,上面灯将会闪动,闪动过 ...
- android中使用setVideoURI()播放视频
最近在做一个demo,要求播放视频,记录一下.使用的是VideoView控件,如果播放网络视频的话,视频应该是渐进流式的,格式嘛,大家应该都知道,一般是H.263或者H.264格式的扩展名为3gp或者 ...
- BZOJ 2761 不重复数字 (Hash)
题解:直接使用STL中的hash去重即可 #include <cstdio> #include <map> using namespace std; int ans[50010 ...
- IE升级到10.0,VS2010启动调试时报“未能将脚本调试器附加到计算机..”
IE升级到10.0,VS2010启动调试时报“未能将脚本调试器附加到计算机..” 今天,在调试代码时,调试器弹出提示框,报:未能将脚本调试器附加到计算机XXX上的进程iexplore.exe . 已附 ...
- JavaScript constructor prototyoe
想加深一下自己对construtcor prototype的印象所以写了这一篇文章 对象的constructor 就是Object 除了通过构造函数创建的对象意外 他的constructor 都是 都 ...
- [译]Stairway to Integration Services Level 9 - Control Flow Task Errors
介绍 在本文中,我们会实验 MaximumErrorCount和ForceExecutioResult 故障容差属性,并且还要学习Control Flow task errors, event han ...
- Python学习之路——字符处理(一)
一.整数: 例如:1.10.30 整数可以做以下操作: bit_length函数:返回该整数占用的最少位数: >>> x=100 >>> x.bit_length( ...