1. 程式人生 > >使用mysql proxy對數據庫進行讀寫分離

使用mysql proxy對數據庫進行讀寫分離

用戶權限 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對數據庫進行讀寫分離