atlas:mysql-proxy扩展,mysql中间件,可以实现分表、分库(sharding版本)、读写分离、数据库连接池等功能!
Atlas类似于Twemproxy,是Qihoo 360基于Mysql Proxy开发的一个Mysql中间件,据称每天承载读写请求数达几十亿,可以实现分表、分库(sharding版本)、读写分离、数据库连接池等功能,缺点是没有实现跨库分表功能,需要在客户端使用分库逻辑,目前Atlas不活跃
参考文献:
环境
win10 下 wsl 环境 ubuntu 的 atlas
Mysql+Atlas配置
-
ubuntu 下安装 Atlas
源码安装方式:请参考第六章 Web开发实战1——HTTP服务
源码编译方法不行的话,直接下载DEB包后用dpkg -i安装即可,注意:旧版本才有DEB包
wget https://github.com/Qihoo360/Atlas/releases/download/2.2/Atlas-2.2-debian7.0-x86_64.deb dpkg -i Atlas-2.2-debian7.0-x86_64.deb
-
ubuntu 下启动 Atlas 缺失 libmysqlclient.so.18
参考:启动zabbix报缺少libmysqlclient.so.18,请自行下载:
# 先查找一下 whereis libmysqlclient.so.18 # 如果存在则软连接到库路径 $ ln -s /usr/local/mysql/lib/libmysqlclient.so.18 /usr/lib64/libmysqlclient.so.18 # 没有则下载后链接 wget -O /usr/lib/libmysqlclient.so.18 http://files.directadmin.com/services/es_7.0_64/libmysqlclient.so.18
-
atlas配置
vim /usr/local/mysql-proxy/conf/chapter6.cnf
-
Atlas启动/重启/停止
# chapter6 即上述的 chapter6.cnf /usr/local/mysql-proxy/bin/mysql-proxyd chapter6 { start | restart | stop }
-
atlas管理
mysql -h127.0.0.1 -P1113 -uadmin -p123456 SELECT * FROM help # 查看帮助
-
atlas 客户端
# 通过代理端口进入客户端 mysql -h127.0.0.1 -P1112 -uroot -p123456 use chapter6; insert into ad values(1 '测试1); insert into ad values(2, '测试2'); insert into ad values(3 '测试3); select * from ad where sku_id=1; select * from ad where sku_id=2; #通过如下sql可以看到实际的分表结果 select * from ad_0; select * from ad_1;