軟件下載:https://downloads.mysql.com/archives/get/file/mysql-proxy-0.8.4-linux-glibc2.3-x86-64bit.tar.gz
1. 解壓:tar zxvf mysql-proxy /usr/local/mysql-proxy
2. vi /etc/profile:環(huán)境變量聲明 直接調(diào)用命令
? ? ? ? ? ? ? ? ? ? ?export PATH=$PATH:/usr/local/mysql-proxy/bin/
3. 讓/etc/profile 生效:source /etc/profile ---- 重新加載
4. 配置 mysql-proxy :vi mysql-proxy.sh
? ? ? ? ? ? ? ? ? ? ? mysql-proxy --daemon --log-level=debug --user=mysql-proxy --keepalive --log-file=/var/log/mysql-proxy.log --plugins="proxy" --proxy-backend-addresses="192.168.1.14:3306" --proxy-read-only-backend-addresses="192.168.1.15:3306" --proxy-lua-script="/usr/local/mysql-proxy/share/doc/mysql-proxy/rw-splitting.lua" --plugins=admin --admin-username="admin" --admin-password="admin" --admin-lua-script="/usr/local/mysql-proxy/lib/mysql-proxy/lua/admin.lua"
注釋:
? ? ? ? ? --user=mysql-proxy : 用mysql-proxy這個(gè)用戶啟動(dòng)
? ? ? ? ? --keepalive : 保持重啟
? ? ? ? ? --log-file=/var/log/mysql-proxy.log:日志文件路徑
? ? ? ? ? --plugins="proxy":插件的名字 "
? ? ? ? ? --proxy-backend-addresses="192.168.1.14:3306" ?: 配置主庫寫數(shù)據(jù)庫IP
? ? ? ? ? --proxy-read-only-backend-addresses="192.168.1.15:3306" ?:配置讀數(shù)據(jù)庫IP
? ? ? ? ? --proxy-lua-script="/usr/local/mysql-proxy/share/doc/mysql-proxy/rw-splitting.lua" : lua代理腳本的位置
? ? ? ? ? --plugins=admin ?:插件的名稱
? ? ? ? ? --admin-username="admin" :管理中間件的用戶名
? ? ? ? ? --admin-password="admin" ?:管理中間件的密碼
? ? ? ? ? --admin-lua-script="/usr/local/mysql-proxy/lib/mysql-proxy/lua/admin.lua" ?:lua腳本位置
5. useradd -r mysql-proxy:創(chuàng)建用戶
6. 查看端口:netstat -tnl ? 4040是proxy端口 ----- 數(shù)據(jù)端徽缚,可以直接操作數(shù)據(jù)庫 ? ? ? 4041是管理端口 --- 代理端吱涉,不能操作數(shù)據(jù)庫
? ? 程序不再訪問3306端口炕置,而是訪問4041端口
? ? ? ? ? ? ?mysql -h(mysql-prox服務(wù)器的IP) -uadmin -p -P 4041:登入代理服務(wù)器的管理端口
? ? ? ? ? ? ?select * from backends; ----- 查看當(dāng)前致开,讀寫服務(wù)器的狀態(tài)
? ? ? 程序直接訪問的數(shù)據(jù)端口:mysql -h(mysql-prox服務(wù)器的IP) -uroot -p -P 4040
? ? ? 注意事項(xiàng),主從數(shù)據(jù)庫要對(duì) mysql-proxy服務(wù)器授權(quán)
常見問題
1. 如果mysql_proxy數(shù)據(jù)端操作得问,沒有同步數(shù)據(jù):檢查slave從庫 的狀態(tài) 是否 跟master bin-log保持一致政勃,關(guān)閉slave 再與master保持標(biāo)記位一致