使用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 ...
随机推荐
- [LeetCode]题解(python):007-Reverse Integer
题目来源: https://leetcode.com/problems/reverse-integer/ 题意分析: 这道题目很简单,就是将一个数反转,123变321,-123变321. 题目思路: ...
- eclipse设置web项目发布到tomcat根目录下
如果已经将项目绑定到服务器了,那就先删除服务器. 重新添加项目进服务器,双击 修改下面Server Locations到tomcat目录下 顺带可以修改下右上角的超时设置 再点击下方 这样就可以了.
- JS 引用
var arr1=[1,2,3,4]; var arr2=arr1; arr2.push(5); console.log(arr1);//和arr2一样 console.log(arr1==arr2) ...
- JS中的RegExp对象常用属性和方法
JavaScript提供了一个RegExp对象来完成有关正则表达式的操作和功能,每一条正则表达式模式对应一个RegExp实例.有两种方式可以创建RegExp对象的实例. 使用RegExp的显式构造函数 ...
- Qt之界面美化输入框(使用QSS确实非同凡响)
我们先看下酷狗音乐的输入框效果图: 这里我们需要实现在输入框里面添加一个按钮(多个也一样),并且提供一个默认时候的文字..直接上代码好了. QHBoxLayout *lay = new QHBoxLa ...
- angulajs 当input使用 bootstrap的email类型时,如果是无效的email格式,则ng-model无效的情况
当使用bootstrap的如下input时 <input type="email" ng-model="userid"> 如果输入的内容是无效的em ...
- MVC 优缺点
MVC是一个架构,或者说是一个设计模式,它就是强制性使应用程序的输入,处理和输出分开.将一个应用程序分为三个部分:Model,View,Controller. 1. MVC的优点 (1) 可以为一个模 ...
- 再探java基础——break和continue的用法
再探java基础——break和continue的用法 break break可用于循环和switch...case...语句中. 用于switch...case中: 执行完满足case条件的内容内后 ...
- perl5 第十二章 Perl5中的引用/指针
第十二章 Perl5中的引用/指针 by flamephoenix 一.引用简介二.使用引用三.使用反斜线(\)操作符四.引用和数组五.多维数组六.子程序的引用 子程序模板七.数组与子程序八.文件句 ...
- JS实现信息的显示和隐藏
JS实现信息的显示和隐藏 我们在写注册页面的时候,必填信息是可见的,可选信息是隐藏的,如果用户希望填写,可以单击“详细信息”. 代码如下:<!DOCTYPE html><html&g ...