MySQL 中间件Atlas 实现读写分离
发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,〇 Atlas架构介绍Atlas是Qihoo360开发的一个中间件,位于Client和MySQL Server中间层,可以作为读写分离,分库分表中间件。对于MySQL Server而言,Atlas像是
千家信息网最后更新 2026年10月31日MySQL 中间件Atlas 实现读写分离〇 Atlas架构介绍
Atlas是Qihoo360开发的一个中间件,位于Client和MySQL Server中间层,可以作为读写分离,分库分表中间件。
对于MySQL Server而言,Atlas像是个Client,而对于Client而言,Atlas则是一个DB server。

〇 实验结构
OS: CentOS 6.5 64bit
MySQL version: 5.6.30
Master:192.168.1.185
Slave:192.168.1.186
proxy(Atlas):192.168.1.187
客户端:192.168.1.192
〇 MySQL部分:
(主从建立步骤略)
主/从上建立具有增删改查账号:
GRANT SELECT, INSERT, UPDATE, DELETE ON *.* TO 'dev'@'192.168.1.187' IDENTIFIED BY 'dev';FLUSH PRIVILEGES;
从库上可以设置:
master上创建一张测试表:
然后再到客户端(192.168.1.192)尝试对Atlas(192.168.1.187)发起增删改查请求:
此处写了一个php脚本来模拟请求:
此处可以通过 yum install -y php php-mysql 来安装一下php相关依赖。
执行这个php脚本后,可以分别检查一下master(192.168.1.185)和从库(192.168.1.186)的general log:
最后再检查一下跑完这个php脚本后的test.a表的数据,是否和预期的一致:
当然,显然是与预期一致。
显然Atlas作为proxy,已经将写请求提交给master(192.168.1.185),将读请求提交给slave(192.168.1.186)。
对于客户端和开发人员,只需要获取一个Atlas的服务器地址、端口、用户名及密码便可使用读写分离。
Atlas也可以实现分表功能,此处可自行翻阅Atlas Home。
〇 参考文档:
https://github.com/Qihoo360/Atlas/releases
https://github.com/Qihoo360/Atlas/wiki
作者微信公众号(持续更新)

Atlas是Qihoo360开发的一个中间件,位于Client和MySQL Server中间层,可以作为读写分离,分库分表中间件。
对于MySQL Server而言,Atlas像是个Client,而对于Client而言,Atlas则是一个DB server。

〇 实验结构
OS: CentOS 6.5 64bit
MySQL version: 5.6.30
Master:192.168.1.185
Slave:192.168.1.186
proxy(Atlas):192.168.1.187
客户端:192.168.1.192
〇 MySQL部分:
(主从建立步骤略)
主/从上建立具有增删改查账号:
GRANT SELECT, INSERT, UPDATE, DELETE ON *.* TO 'dev'@'192.168.1.187' IDENTIFIED BY 'dev';
从库上可以设置:
- SET GLOBAL log_output='TABLE';
- SET GLOBAL general_log=on;
master上创建一张测试表:
- master> CREATE TABLE test.a(id int);
- Query OK, 0 rows affected (0.03 sec)
然后再到客户端(192.168.1.192)尝试对Atlas(192.168.1.187)发起增删改查请求:
此处写了一个php脚本来模拟请求:
- <?php
- $con = mysql_connect("192.168.1.187","dev","dev");
- if (!$con){
- die('connect error: ' . mysql_error());
- }
- mysql_select_db("my_db", $con);
- mysql_query("INSERT INTO test.a SELECT 1;");
- mysql_query("UPDATE test.a SET id=222 WHERE id=1;");
- mysql_query("DELETE FROM test.a WHERE id=222;");
- mysql_query("INSERT INTO test.a SELECT 123456;");
- mysql_query("SELECT count(1) FROM test.a;");
- mysql_close($con);
- ?>
此处可以通过 yum install -y php php-mysql 来安装一下php相关依赖。
执行这个php脚本后,可以分别检查一下master(192.168.1.185)和从库(192.168.1.186)的general log:
- master> SELECT user_host, argument
- -> FROM mysql.general_log
- -> WHERE user_host='dev[dev] @ [192.168.1.187]' ;
- +-----------------------------+-------------------------------------+
- | user_host | argument |
- +-----------------------------+-------------------------------------+
- | dev[dev] @ [192.168.1.187] | INSERT INTO test.a SELECT 1 |
- | dev[dev] @ [192.168.1.187] | UPDATE test.a SET id=222 WHERE id=1 |
- | dev[dev] @ [192.168.1.187] | DELETE FROM test.a WHERE id=222 |
- | dev[dev] @ [192.168.1.187] | INSERT INTO test.a SELECT 123456 |
- +-----------------------------+-------------------------------------+
- 4 rows in set (0.00 sec)
- slave> SELECT user_host, argument
- -> FROM mysql.general_log
- -> WHERE user_host='dev[dev] @ [192.168.1.187]' ;
- +-----------------------------+-----------------------------+
- | user_host | argument |
- +-----------------------------+-----------------------------+
- | dev[dev] @ [192.168.1.187] | SELECT count(1) FROM test.a |
- +-----------------------------+-----------------------------+
- 1 rows in set (0.00 sec)
最后再检查一下跑完这个php脚本后的test.a表的数据,是否和预期的一致:
- slave> SELECT * FROM test.a;
- +--------+
- | id |
- +--------+
- | 123456 |
- +--------+
- 1 row in set (0.00 sec)
当然,显然是与预期一致。
显然Atlas作为proxy,已经将写请求提交给master(192.168.1.185),将读请求提交给slave(192.168.1.186)。
对于客户端和开发人员,只需要获取一个Atlas的服务器地址、端口、用户名及密码便可使用读写分离。
Atlas也可以实现分表功能,此处可自行翻阅Atlas Home。
〇 参考文档:
https://github.com/Qihoo360/Atlas/releases
https://github.com/Qihoo360/Atlas/wiki
作者微信公众号(持续更新)

客户
客户端
脚本
中间件
一致
分表
开发
检查
中间层
主从
人员
作者
公众
分库
功能
可以通过
地址
密码
数据
文档
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
伟宏互联网科技
科技互联网企业
A股互联网金融科技公司
科技互联网项目
互联网医疗科技
为想互联网科技
华中科技大学互联网
天下捷融互联网科技
上海卓越科技 互联网
海南科技产业互联网平台
互联网科技博主是什么意思
科技互联网的估值
昊天互联网科技有限公司
湖南一路畅行互联网科技
移动互联网科技公司
洛阳共同富裕互联网科技有限公司
2021互联网科技公司排名
城市宝互联网科技有限公司
悟空问答互联网科技
互联网科技创新方面的资料
什么是科技互联网
互联网为科技
互联网公司 科技公司
互联网金融 科技
互联网科技上市公司
唐信互联网科技 大连
中国互联网金融科技基金
博兴的互联网电子科技公司
搜狐科技互联网
保险科技服务互联网营销体系