功能
用於外網用戶端連接內網的MySQL,將此工具安裝在中轉伺服器上。
軟體版本
mysql-proxy-0.8.1-linux-rhel5-x86-64bit.tar.gz
簡單的配置過程
解壓後有5個目錄
bin include lib libexec share
進bin目錄,查看mysql_proxy的使用説明
[root@ora01 bin]# ./mysql-proxy --help-all
Usage:
mysql-proxy [OPTION...] - MySQL Proxy

 

Help Options:
-?, --help Show help options
--help-all Show all help options
--help-admin Show options for the admin-module
--help-proxy Show options for the proxy-module

 

admin-module
--admin-address=<host:port> listening address:port of the admin-server (default: :4041)
--admin-username=<string> username to allow to log in
--admin-password=<string> password to allow to log in
--admin-lua-script=<filename> script to execute by the admin plugin

 

proxy-module
-P, --proxy-address=<host:port> listening address:port of the proxy-server (default: :4040)
-r, --proxy-read-only-backend-addresses=<host:port> address:port of the remote slave-server (default: not set)
-b, --proxy-backend-addresses=<host:port> address:port of the remote backend-servers (default: 127.0.0.1:3306)
--proxy-skip-profiling disables profiling of queries (default: enabled)
--proxy-fix-bug-25371 fix bug #25371 (mysqld > 5.1.12) for older libmysql versions
-s, --proxy-lua-script=<file> filename of the lua script (default: not set)
--no-proxy don't start the proxy-module (default: enabled)
--proxy-pool-no-change-user don't use CHANGE_USER to reset the connection coming from the pool (default: enabled)

 

Application Options:
-V, --version Show version
--defaults-file=<file> configuration file
--verbose-shutdown Always log the exit code when shutting down
--daemon Start in daemon-mode
--user=<user> Run mysql-proxy as user
--basedir=<absolute path> Base directory to prepend to relative paths in the config
--pid-file=<file> PID file in case we are started as daemon
--plugin-dir=<path> path to the plugins
--plugins=<name> plugins to load
--log-level=(error|warning|info|message|debug) log all messages of level ... or higher
--log-file=<file> log all messages in a file
--log-use-syslog log all messages to syslog
--log-backtrace-on-crash try to invoke debugger on crash
--keepalive try to restart the proxy if it crashed
--max-open-files maximum number of open files (ulimit -n)
--event-threads number of event-handling threads (default: 1)
--lua-path=<...> set the LUA_PATH
--lua-cpath=<...> set the LUA_CPATH
應用
./mysql-proxy --admin-username=root --admin-password='' --admin-lua-script=/opt/mysql-proxy-0.8.1-linux-rhel5-x86-64bit/lib/mysql-proxy/lua/admin.lua --proxy-backend-addresses=192.168.60.134:3306 --daemon
參數說明:
指定MySQL的使用者名和密碼、執行mysql-proxy工具的腳本、mysql伺服器位址和埠、服務模式
測試
# netstat -tunlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:4040 0.0.0.0:* LISTEN 29237/mysql-proxy
tcp 0 0 0.0.0.0:4041 0.0.0.0:* LISTEN 29237/mysql-proxy
4040埠是預設的代理埠,用戶端連接的時候直接指向此埠
4041是預設的管理模組埠
總結:現在就可以連接中轉伺服器的4040埠,訪問內網的MySQL伺服器。除了可以進行連接的轉發外,還可以進行查詢的監控、過濾、分析、負載均衡(Load Balance)、失敗漂移(Failover)等,更多功能以後再研究。

By tony

自由軟體愛好者~喜歡不斷的思考各種問題,有新的事物都會想去學習嘗試 做實驗並熱衷研究 沒有所謂頂天的技術 只有謙虛及不斷的學習 精進專業,本站主要以分享系統及網路相關知識、資源而建立。 Github http://stnet253.github.io

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料