Atlasによるデータベースの読み書き分離
2599 ワード
MySQLのエージェントで最も一般的なのはmysql-proxy、cobar、mycat、Atlasなどです.mysql-proxyは軽量な中間エージェントです.cobarはアリが提供した中間部品で、更新を停止した.mycatの前身はcobarで、活躍度が高い.Atlas奇虎360のオープンソース中間エージェントは、mysql-proxy 0.8.2に基づいて最適化され、いくつかの新しい機能特性を追加します.360内部ではAtlasが運営するMySQL事業を利用しており、1日に数十億件の読み書き要求が寄せられている.このまとめは主にAtlas読み書き分離の実現について述べる.
一、Atlasのインストール
一、Atlasのインストール
wget https://github.com/Qihoo360/Atlas/releases/download/2.2.1/Atlas-2.2.1.el6.x86_64.rpm
rpm -ivh Atlas-2.2.1.el6.x86_64.rpm
cd /usr/local/mysql-proxy/conf
/usr/local/mysql-proxy/bin/encrypt 1qa.2ws.3ed. # mysql
vim /usr/local/mysql-proxy/conf/test.cnf
[MySQL ]
#
admin-username = quizii
#
admin-password = *******
#Atlas MySQL IP , , ( )
proxy-backend-addresses = 10.26.173.153:3306
#Atlas MySQL IP ,@ , , 1, , ( )
#proxy-read-only-backend-addresses = 10.27.16.160:3306@1
# MySQL , PREFIX/bin encrypt , user1 user2 , MySQL !
user1:+ jKsgB3YAG8 =,user2:GS + tr4TPgqc =
# Atlas , true , false , false, true,true 。
daemon = true
# Atlas , true Atlas , monitor, worker,monitor worker , false worker, monitor, false, true,true 。
keepalive = true
# , ,
event-threads = 8
# , message、warning、critical、error、debug
log-level = message
#
log-path = /usr/local/mysql-proxy/log
#SQL , OFF、ON、REALTIME,OFF SQL ,ON SQL ,REALTIME SQL , OFF
#sql-log = OFF
# 。 , sql-log-slow( :ms) 。 。
#sql-log-slow = 10
# , Atlas
#instance = test
# IP
proxy-address = 0.0.0.0:13470
# IP
admin-address = 0.0.0.0:23470
# , person ,mt ,id ,3 , , ,
#tables = person.mt.id.3
# , SET NAMES
#charset = utf8
# Atlas IP, IP, IP , , IP , IP
#client-ips = 127.0.0.1, 192.168.1
#Atlas LVS IP( IP), LVS client-ips ,
#lvs-ips = 192.168.1.1
######################################################
/usr/local/mysql-proxy/bin/mysql-proxyd test start
#
mysql -h127.0.0.1 -P23470 -uquizii_user -pquizii2019
mysql> show variables like 'server_id';
( , serverid )
# ; mysql
echo "/usr/local/mysql-proxy/bin/mysql-proxyd test start" >>/etc/rc.d/rc.local
# , , 。
ps -ef|grep mysql