讀寫分離之mysql-proxy的部署
阿新 • • 發佈:2018-12-20
環境前提 master-slave
mysql-proxy的原理是使用指令碼語言lua來實現讀寫分離相關的功能
官網上下載mysql-proxy元件 mysql-proxy-0.8.4-linux-el6-x86-64bit.tar.gz 解壓出來後發現沒有 conf目錄和 log目錄(原來這些需要自己手動建立的)
解壓後,習慣性的整體mv /usr/src/mysql-proxy
mkdir conf
mkdir log
增加配置檔案 vim conf/mysql-proxy.conf
[mysql-proxy] daemon=true user=root keepalive=true plugins=proxy,admin log-level=info log-file=/usr/src/mysql-proxy/log/mysql-proxy.log #日誌檔案的目錄位置 proxy-address=192.168.3.3:3306 #代理主機的ip和埠 proxy-backend-addresses=192.168.3.7:3306 #主庫master的ip和埠 proxy-read-only-backend-addresses=192.168.3.8:3306#讀庫的ip和埠 proxy-lua-script=/usr/src/mysql-proxy/share/doc/mysql-proxy/rw-splitting.lua #指定讀寫分離配置檔案位置此指令碼在mysql-proxy安裝包庫裡就有,無需建立 admin-address=192.168.3.3:4041 #狀態檢視配置 admin-username=rs admin-password=Rs123456. admin-lua-script=/usr/src/mysql-proxy/lib/mysql-proxy/lua/admin.lua
預設的指令碼 rw-splitting.lua中需要修改預設的設定
min_idle_connections = 1, #預設超過4個連線數時,才開始讀寫分離,改為1
max_idle_connections = 2, #預設8,改為2
mysql-proxy的啟動 需要手動指定配置檔案的位置
啟動指令碼在bin目錄下
./mysql-proxy --defaults-file=/usr/src/mysql-proxy/conf/mysql-proxy.conf
檢視埠狀態 3306埠是否起來 netstat -anputl
由於之前做主從複製的時候 建立了使用者rs 許可權為
grant all on *.* to 'rs'@'192.168.3.%' identified by 'Rs123456.'
所以此賬戶就可通用接下來的所有實驗了
使用Navicat for Mysql 進行連線
回顧點
1 配置文化的手動增加
2 配置檔案中指定的讀寫分離指令碼路徑是否正確
3 指令碼中修改設定數是為了實驗,實際情況並不一定需要修改
4 mysql-proxy佈置在代理伺服器192.168.3.3上( 主庫master 192.168.3.7 從庫slave 192.168.3.8)