Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >mysql数据库读写分离实现_数据库读写分离的原理

mysql数据库读写分离实现_数据库读写分离的原理

作者头像
全栈程序员站长
发布于 2022-11-17 03:41:01
发布于 2022-11-17 03:41:01
1.6K0
举报

大家好,又见面了,我是你们的朋友全栈君。

读写分离是基于主从复制上面布置的,需要使用Atlas软件,代理服务器上只需要安装mariadb客服端

三台服务器:一台做主,一台做从,一台安装Atlas软件

主从复制部署的在我的主页有,需要的可以去看看,链接:Mysql数据库主从复制_wang1955的博客-CSDN博客

1)安装配置Atals软件,rz上传

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

路径:cd /usr/local/mysql-proxy/bin

2)安装完成后bin目录下会自动生成四个文件

Encrypt:用来生成mysql密码加密的

Mysql-proxy:mysql自己的读写分离代理

Mysql-proxyd:360的,“d”是服务的启动、重启、停止,执行conf目录下放的配置文件

3)在cd /usr/local/mysql-proxy/bin目录下加密密码

# ./encrypt abcd1234

4)打开Atlas的配置文件进行修改

# vim /usr/local/mysql-proxy/conf/test.cnf

在pwds处,将上面加密的密码复制进入

5)配置完后才能后记得启动Atlas软件

# /usr/local/mysql-proxy/bin/mysql-proxyd test start

6)到主从设备中进入mysql数据库授权Atlas软件

grant all on *.* to test@’192.168.10.10′ identified by ‘abcd1234’;

7)进入到Atles服务器中,使用test.cnf中的管理账号与密码登录2345管理接口IP和端口,管理账号登入后是无法使用平行界面的命令,可以使用select * from help;寻求帮助

# mysql -h127.0.0.1 -P2345 -uuser -ppwd 管理界面

8)在数据库中查看Atles管理的数据库

MySQL [(none)]> SELECT * FROM backends;

9)使用创建的test账户登录 平行界面

# mysql -h127.0.0.1 -P1234 -utest -pabcd1234

可以发现Atles代理已经读取到主从数据库中的数据,但是还不知道读取的主数据库还是从数据库的数据?

验证

10)在主数据库中添加了一个ID 7 用户zhangsan

查询从数据库中是可以查询到这个用户

Atles服务器中也是可以查询到这个用户的

11)现在去从数据库中创建一个用户8 张三,表中是有这个用户

主数据库中是没有这个用户的

再查看Atles代理服务器,表中是有用户8 张三

通过以上实验验证出:Atles软件是读取的从服务器中的数据,不会读取主数据库中的。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/223458.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年10月29日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文