2、安裝部署mysql-proxy

(1)安裝lua

wget http://www.lua.org/ftp/lua-5.3.5.tar.gz  #目前最新版是5.3.5
tar zxf lua-5.3.5.tar.gz
cd lua-5.3.5
make linux test
//如果出現(xiàn)錯(cuò)誤:
gcc -std=gnu99 -O2 -Wall -Wextra -DLUA_COMPAT_5_2 -DLUA_USE_LINUX    -c -o lua.o lua.c
lua.c:80:31: 致命錯(cuò)誤:readline/readline.h:沒(méi)有那個(gè)文件或目錄
#include <readline/readline.h>
                              ^
編譯中斷。
make[2]: *** [lua.o] 錯(cuò)誤 1
make[2]: 離開(kāi)目錄“/home/jason/tools/lua-5.3.3/src”
make[1]: *** [linux] 錯(cuò)誤 2
make[1]: 離開(kāi)目錄“/home/jason/tools/lua-5.3.3/src”
make: *** [linux] 錯(cuò)誤 2
#輸入命令
yum install libtermcap-devel ncurses-devel libevent-devel readline-devel

(2)安裝proxy
下載地址:https://downloads.mysql.com/archives/proxy/#downloads

#安裝
tar zxvf mysql-proxy-0.8.5-linux-el6-x86-64bit.tar.gz  #解壓文件
mv mysql-proxy-0.8.5-linux-el6-x86-64bit /usr/local/mysql-proxy

配置proxy環(huán)境

export PATH=$PATH:/usr/local/mysql-proxy/bin/
echo "PATH=$PATH:/usr/local/mysql-proxy/bin" >> /etc/profile

設(shè)置配置文件

cd /usr/local/mysql-proxy
mkdir lua  #創(chuàng)建腳本存放目錄
mkdir logs  #創(chuàng)建日志目錄
cp share/doc/mysql-proxy/rw-splitting.lua ./lua  #復(fù)制讀寫(xiě)分離配置文件
cp share/doc/mysql-proxy/admin-sql.lua ./lua  #復(fù)制管理腳本
vi /etc/mysql-proxy.cnf  #創(chuàng)建配置文件
[mysql-proxy]
user=root  #運(yùn)行mysql-proxy用戶
admin-username=root  #主從mysql共有的用戶
admin-password=123456  #用戶的密碼
proxy-address=0.0.0.0:4040  #mysql-proxy運(yùn)行ip和端口,不加端口,默認(rèn)4040
proxy-read-only-backend-addresses=172.17.0.5  #指定后端從slave讀取數(shù)據(jù)
proxy-backend-addresses=172.17.0.3  #指定后端主master寫(xiě)入數(shù)據(jù)
proxy-lua-script=/usr/local/mysql-proxy/lua/rw-splitting.lua  #指定讀寫(xiě)分離配置文件位置
admin-lua-script=/usr/local/mysql-proxy/lua/admin-sql.lua  #指定管理腳本
log-file=/usr/local/mysql-proxy/logs/mysql-proxy.log  #日志位置
log-level=info  #定義log日志級(jí)別,由高到低分別有(error|warning|info|message|debug)
daemon=true  #以守護(hù)進(jìn)程方式運(yùn)行
keepalive=true  #mysql-proxy崩潰時(shí),嘗試重啟
[mysql-proxy]
user=root
admin-username=root
admin-password=123456
proxy-address=0.0.0.0:4040
proxy-read-only-backend-addresses=172.17.0.5
proxy-backend-addresses=172.17.0.3
proxy-lua-script=/usr/local/mysql-proxy/lua/rw-splitting.lua
admin-lua-script=/usr/local/mysql-proxy/lua/admin-sql.lua
log-file=/usr/local/mysql-proxy/logs/mysql-proxy.log
log-level=info
daemon=true
keepalive=true

修改權(quán)限

chmod 660 /etc/mysql-proxy.cnf

設(shè)置讀寫(xiě)分離配置文件

#rw-splitting.lua
min_idle_connections = 1,  #默認(rèn)超過(guò)4個(gè)連接數(shù)時(shí),才開(kāi)始讀寫(xiě)分離,改為1
max_idle_connections = 1,  #默認(rèn)8,改為1

測(cè)試

mysql-proxy --help

各個(gè)參數(shù)的意義:

--help-all  :獲取全部幫助信息;
--proxy-address=host:port  :代理服務(wù)監(jiān)聽(tīng)的地址和端口;
--admin-address=host:port  :管理模塊監(jiān)聽(tīng)的地址和端口;
--proxy-backend-addresses=host:port :后端mysql服務(wù)器的地址和端口;
--proxy-read-only-backend-addresses=host:port :后端只讀mysql服務(wù)器的地址和端口;
--proxy-lua-script=file_name :完成mysql代理功能的Lua腳本;
--daemon  :以守護(hù)進(jìn)程模式啟動(dòng)mysql-proxy;
--keepalive  :在mysql-proxy崩潰時(shí)嘗試重啟之;
--log-file=/path/to/log_file_name :日志文件名稱(chēng);
--log-level=level :日志級(jí)別;
--log-use-syslog :基于syslog記錄日志;
--plugins=plugin:在mysql-proxy啟動(dòng)時(shí)加載的插件;
--user=user_name  :運(yùn)行mysql-proxy進(jìn)程的用戶;
--defaults-file=/path/to/conf_file_name : 默認(rèn)使用的配置文件路徑;其配置段使用[mysql-proxy]標(biāo)識(shí);
--proxy-skip-profiling : 禁用profile;
--pid-file=/path/to/pid_file_name :進(jìn)程文件名;

啟動(dòng)proxy

mysql-proxy --defaults-file=/etc/mysql-proxy.cnf #開(kāi)啟服務(wù)

連接proxy

賬號(hào):root
密碼:123456
端口:4040
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 其中Amoeba for MySQL也是實(shí)現(xiàn)讀寫(xiě)分離 環(huán)境描述: 操作系統(tǒng):CentOS6.5 32位 主服務(wù)器M...
    F的平方閱讀 642評(píng)論 2 0
  • 主從復(fù)制(Master-Slave)與讀寫(xiě)分離(Mysql作為目前世界上使用最廣泛的免費(fèi)數(shù)據(jù)庫(kù),相信所有從事系統(tǒng)運(yùn)...
    薛延祥閱讀 355評(píng)論 0 0
  • 架構(gòu)圖 介紹 處于client端和MySQL server端之間的應(yīng)用 可以監(jiān)測(cè)、分析或改變它們的通信 使用靈活,...
    mvictor閱讀 12,531評(píng)論 0 5
  • feisky云計(jì)算、虛擬化與Linux技術(shù)筆記posts - 1014, comments - 298, trac...
    不排版閱讀 4,372評(píng)論 0 5
  • 已經(jīng)過(guò)了12點(diǎn)了,現(xiàn)在確切的說(shuō)應(yīng)該是23號(hào)了,昨天是自己27歲的生日,普普通通,但也還是跟妹仔一起,溫馨度過(guò)。 現(xiàn)...
    半島鐵盒文閱讀 165評(píng)論 0 0

友情鏈接更多精彩內(nèi)容