mysql-进阶(读写分离的搭建)1.基于Atlas的读写分离搭建

本文详细介绍了如何使用360公司的Atlas代理软件实现MySQL数据库的读写分离,包括主从复制环境搭建、Atlas安装配置及读写分离效果验证。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Atlas是360公司弄出来的一套基于MySQL-Proxy基础之上的代理。已经有几年没有更新了,目前没有看到适用于centos7的版本

但我安装了使用centos6的安装包也成功了

Atlas官方链接: https://github.com/Qihoo360/Atlas/blob/master/README_ZH.md

Atlas下载链接: https://github.com/Qihoo360/Atlas/releases

192.***.***.**1     Atlas安装位置

192.***.***.**9     sysbench安装位置(非必须安装)

192.***.***.**0     主库安装位置

192.***.***.**2     从库安装位置

数据库安装这里就不介绍,百度上有很多,读写分离首先需要的是一个主从复制环境

要搭建主从复制需要一个用户

create user "repl_test" identified by "123";

GRANT REPLICATION SLAVE ON *.* TO 'repl_test'@'%'

flush privileges;

这样一来,用于主从复制的用户就已经创建完成了

接下来看一看需要的配置,首先看一下主库的配置

log_bin = mysql-bin         开启二进制日志
binlog_format=mixed       binlog日志模式
server-id   = 2                   服务器id(要唯一)
expire_logs_days = 7       保留几天的二进制日志(可以配置也可以不配置)

这是从库的配置

如果从库不需要当另一台数据库的master的话直接配置中继日志就可以,不需要配置开启二进制日志

如果两个数据库都是新安装的就不用考虑其他情况,如果从库是后增加的,则需要将主库的数据先拷贝到从库上,如果数据量比较大的话建议使用xtrabackup工具。这里不讲这个工具的使用了,之后再补这个工具的使用

这时候,我们的主库和从库就各自配置好了,接下来将主库关联起来

首先我们登陆主库

mysql -uroot -p

然后执行如下命令

得到的结果即为当前的二进制日志的最新日志文件和最新的pos点

然后我们登录slave数据库

执行如下操作:

  1. CHANGE MASTER TO MASTER_HOST='192.***.***.**0'MASTER_USER='repl_test'MASTER_PASSWORD='123',MASTER_LOG_FILE='mysql-bin.000115',  MASTER_LOG_POS=154

这里是配置主库的host,主从复制用户,用户的密码,开始执行复制的文件,开始执行复制的位置

此时再执行start slave就已经开启了主从复制了

关闭复制的话就直接stop slave就可以了

执行如下命令可以查看复制是否成功

上面两个黄色荧光标记都为yes的话即代表成功

如果是其他状态,下面的error会给出具体的错误,genj根据错误改正

如上图所示,我们的主从环境搭建完成了。

接下来需要配置Atlas

首先连接到192.***.***.**1这台服务器

首先去上面给的链接上下载对应版本的altas,由于altas已经很久没有更新了,目前没有对应centos7的版本,但是我下载了对应centos6的版本应能搭建成功

安装官网有详细的步骤且是中文,这里面简单的介绍一下

rpm -ivh Atlas-2.2.1.el6.x86_64.rpm

这时候可以查看/usr/local/mysql-proxy这个目录

进入到/usr/local/mysql-proxy/bin目录下

我们可以看到encrypt这个

这是用来加密密码的

首先,我们需要在主从库创建个用户,用来altas监听;

create user "no_repl" identified by "123";

GRANT all ON *.* TO 'no_repl'@'%'

然后我们继续回到192.***.***.**1这台服务器,在/usr/local/mysql-proxy/bin目录下。执行命令

这时候下面所生成的就是对密码加密之后的结果

然后我们进入到/usr/local/mysql-proxy/conf

对test.cnf进行编辑,这个是配置文件

vim test.cnf

配置文件里都有详细的配置说明,这是官网上的配置

这里就不过多做介绍了,应该很容易看明白

然后我们进入到/usr/local/mysql-proxy/bin这个目录下执行如下命令

./mysql-proxyd test start

altas便已经开启了

可以看一下这个状态确定是否开启

如图所示,可知atlas已经开启

我们也可以登陆到atlas的数据库上:

mysql -h192.***.***.**1 -P 2345 -uuser -p

通过如图所示可以查看到相应的管理命令,这个可以自己多做些研究

接下来我们验证一下读写分离是否实现

首先我们在主库里面创建一张表,插入几条数据

然后我们查看一下从库

可以看到此时两个表的信息同步

这时候我们停掉主从复制

stop slave;

然后向主库中插入一条数据,这是可以看到主库中的数据多了一条

我们再查看一下此时从库中的数据

从库数据依旧没有改变,现在我们通过atlas来访问

可以看到此时atlas读到的数据和从库是一样的,即证明了读写分离是成功的

至此,读写分离搭建完成,可以用sysbench工具测试读写分离性能

借鉴的文章:http://www.cnblogs.com/yyhh/p/5084844.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值