1. 程式人生 > >讀寫分離之mysql-proxy的部署

讀寫分離之mysql-proxy的部署

環境前提 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)