MySQL Proxy

MySQL Proxy

MySQL Proxy是一個處於你的client端和MySQL server端之間的簡單程式,它可以監測、分析或改變它們的通信。它使用靈活,沒有限制,常見的用途包括:負載平衡,故障、查詢分析,查詢過濾和修改等等。

MySQL Proxy就是這么一個中間層代理,簡單的說,MySQL Proxy就是一個連線池,負責將前台套用的連線請求轉發給後台的資料庫,並且通過使用lua腳本,可以實現複雜的連線控制和過濾,從而實現讀寫分離負載平衡。對於套用來說,MySQL Proxy是完全透明的,套用則只需要連線到MySQL Proxy的監聽連線埠即可。當然,這樣proxy機器可能成為單點失效,但完全可以使用多個proxy機器做為冗餘,在套用伺服器的連線池配置中配置到多個proxy的連線參數即可。
MySQL Proxy更強大的一項功能是實現“讀寫分離”,基本原理是讓主資料庫處理事務性查詢,讓從庫處理SELECT查詢。資料庫複製被用來把事務性查詢導致的變更同步到集群中的從庫。
附mysql-proxy 的所有語法命令:
$ 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 internal admin-server (default: :4041)
proxy-module
--proxy-address=<host:port>listening address:port of the proxy-server (default: :4040)
--proxy-read-only-backend-addresses=<host:port>address:port of the remote slave-server (default: not set)
--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
--proxy-lua-script=<file>filename of the lua script (default: not set)
--no-proxy Don't start proxy-server
Application Options:
-V, --version Show version
--daemon Start in daemon-mode
--pid-file=<file>PID file in case we are started as daemon

相關詞條

熱門詞條

聯絡我們