使用mysql proxy對數據庫進行讀寫分離
阿新 • • 發佈:2017-05-28
用戶權限 share 數據庫 ava mysql- bit 但是 文件 環境
服務器安排如下:
192.168.100.128 主
192.168.100.129 從
192.168.100.130 mysql-proxy
1、在100.130中下載安裝mysql-proxy
tar -zxvf mysql-proxy-0.8.5-linux-el6-x86-64bit.tar.gz cp mysql-proxy-0.8.5-linux-el6-x86-64bit /usr/local/mysql-proxy
2、配置環境變量
LUA_PATH="/usr/local/mysql-proxy/share/doc/mysql-proxy/?.lua" export LUA_PATH PATH=$PATH:/usr/local/mysql-proxy/bin export JAVA_HOME JRE_HOME PATH CLASSPATH HADOOP_HOME LUA_PATH
保存退出後
source /etc/profile
3、修改mysql proxy的讀寫分離腳本的配置
vim /usr/local/mysql-proxy/share/doc/mysql-proxy/rw-splitting.lua
if not proxy.global.config.rwsplit then proxy.global.config.rwsplit = { min_idle_connections = 1, // 改為1 max_idle_connections = 2, // 改為2 is_debug = false } end
默認最小4個(最大8個)以上的客戶端連接才會實現讀寫分離, 現改為最小1個最大2個,便於讀寫分離的測試
4、在100.128,100.129為代理創建用戶
mysql>grant all on *.* to ‘test‘@‘192.168.100.130‘ identified by ‘321321‘;
mysql>flush privileges;
5、啟動mysql-proxy
vim /usr/local/mysql-proxy/mysql-proxy.sh //新建一個shell文件,加入以下內容
內容如下
mysql-proxy --daemon --log-level=debug --log-file=/var/log/mysql-proxy.log --plugins=proxy -b 192.168.100.128:3306 -r 192.168.100.129:3306 --proxy-lua-script="/usr/local/mysql-proxy/share/doc/mysql-proxy/rw-splitting.lua" --plugins=admin --admin-username="test" --admin-password="321321" --admin-lua-script="/usr/local/mysql-proxy/share/doc/mysql-proxy/admin.lua"
註意,在“/usr/local/mysql-proxy/share/doc/mysql-proxy/”目錄中默認沒有admin.lua文件但是有admin-sql.lua,
cp admin-sql.lua admin.lua
啟動
./mysql-proxy.sh
需要註意的是用戶權限及防火墻關掉
使用mysql proxy對數據庫進行讀寫分離