mysql主從利用proxy實現讀寫分離

編譯安裝代理服務

安裝依賴
yum update -y nss curl libcurl
yum group install "Development tools"
yum install gcc make libcurl-devel openssl-devel gmp-devel tar libffi-devel gettext-devel -y
yum install -y tcpdump net-tools jemalloc-devel libevent-devel glib2-devel lua-devel lua mysql-devel git
#yum install glib2
#yum install jemalloc

cd /opt && git clone https://github.com/Qihoo360/Atlas
cd Atlas

需要先修改源代碼
vim /opt/Atlas/src/network-conn-pool-lua.c
220行:char tmp[] = {to_write - 4, 0, 0, 1, 0x85這行代碼
將0x85修改成0x87之後,保存退出

./bootstrap.sh
make clean
make && make install

配置項添加或變更這幾項:
daemon=true
event-threads=2
charset=utf8mb4
sql-log=ON
max_conn_for_a_backend=0
wait-timeout=60

編輯配置文件vi /usr/local/mysql-proxy/conf/config.cnf

[mysql-proxy]
admin-username=admin ###管理接口的用戶名
admin-password=admin123 ###管理接口的密碼
#admin-lua-script=/usr/local/mysql-proxy/lib/mysql-proxy/lua/admin.lua
log-level=debug ####日誌級別
log-path=./log #####日誌路徑
#plugin-dir=./lib
event-threads=2 ##工作線程數,對Atlas的性能有很大影響,可根據情況適當設置
instance=config ####配置文件的名字
proxy-address=0.0.0.0:1234 #Atlas監聽的工作接口IP和端口
admin-address=0.0.0.0:2345 #Atlas監聽的管理接口IP和端口

####Atlas後端連接的MySQL主庫的IP和端口,可設置多項,用逗號分隔
proxy-backend-addresses=192.168.50.199:3306

###Atlas後端連接的MySQL從庫的IP和端口,@後面的數字代表權重,用來作負載均衡,若省略則默認爲1,可設置多項,用逗號分隔
proxy-read-only-backend-addresses=192.168.0.206:3306

###用戶名與其對應的加密過的MySQL密碼,密碼使用PREFIX/bin目錄下的加密程序encrypt加密,下行的user1和user2爲示例,將其替換爲你的MySQL的用戶名和加密密碼!
pwds=saybot:Ze2h****

daemon=true #####設置Atlas的運行方式,設爲true時爲守護進程方式,設爲false時爲前臺方式,一般開發調試時設爲false,線上運行時設爲true,true後面不能有空格
keepalive=true ####設置Atlas的運行方式,設爲true時Atlas會啓動兩個進程,一個爲monitor,一個爲worker,monitor在worker意外退出後會自動將其重啓,設爲false時只有worker,沒有monitor,一般開發調試時設爲false,線上運行時設爲true,true後面不能有空格。

charset=utf8mb4 ###默認字符集
sql-log=ON ###########日誌開關,
max_conn_for_a_backend=0
wait-timeout=60

配置完成後啓動服務
cd /usr/local/mysql-proxy/bin/ ####進入啓動文件目錄
./mysql-proxyd config start ####啓動服務

主從後續會追加。。。。。。。

參考文章
https://www.cnblogs.com/yyhh/p/5084844.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章