java atlas mysql_使用Atlas实现MySQL读写分离+MySQL-(Master-Slave)配置

本文介绍了如何使用Atlas实现MySQL的读写分离,并详细讲述了在MySQL Master-Slave配置过程中遇到的问题及解决办法,包括 Atlas 的安装、启动脚本编写、以及主从配置的调整。
摘要由CSDN通过智能技术生成

参考博文:

MySQL-(Master-Slave)配置  本人按照博友北在北方的配置已成功  我使用的是 mysql5.6.27版本。

配置中 又进一步对mysql5.6的日志进行了了解 :mysql日志详细解析

1.安装

注意:只能安装在64位的Linux操作系统上,CentOS官方建议rpm安装方式

目前最新的版本为:

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:- 90 25# 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 1# See how we were called.case "$1" instart)

start

;;

stop)

stop

;;

restart)

stop

sleep 1start

;;*)

echo $"Usage: $0 {start|stop|restart}"exit1esac

exit0

授权并加入开机启动

[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.00sec)

重新启动mysql服务后:

mysql>show master status;

ERROR2006(HY000): MySQL server has gone away

No connection. Trying to reconnect...

Connection id:3Current 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 ;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值