MySQL Proxy應用入門(2)--MySQL Proxy配置選項
二、MySQL Proxy配置選項
啟動MySQL Proxy對應的命令列正是mysql-proxy,位於安裝路徑/bin目錄下,mysql-proxy命令列也提供了一些引數,用來實現不同的功能,在啟動MySQL Proxy前必須對部分引數進行設定,比如監控伺服器地址,名稱,埠等。
直接執行mysql-proxy命令,附加--help-all引數,可以檢視到該命令支援的所有引數,及呼叫語法:
[root@rhel5u3 ~]# /usr/local/mysql-proxy/bin/mysql-proxy --help-all
Usage:
mysql-proxy [OPTION...] - MySQL Proxy
Help Options:
-h, --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= listening address:port of the admin-server (default: :4041)
--admin-username= username to allow to log in
--admin-password= password to allow to log in
--admin-lua-script= script. to execute by the admin plugin
proxy-module
-P, --proxy-address= listening address:port of the proxy-server (default: :4040)
-r, --proxy-read-only-backend-addresses= address:port of the remote slave-server (default: not set)
-b, --proxy-backend-addresses= 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= 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= configuration file
--verbose-shutdown Always log the exit code when shutting down
--daemon Start in daemon-mode
--user= Run mysql-proxy as user
--basedir= Base directory to prepend to relative paths in the config
--pid-file= PID file in case we are started as daemon
--plugin-dir= path to the plugins
--plugins= plugins to load
--log-level=(error|warning|info|message|debug) log all messages of level ... or higher
--log-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與MySQL系出同門,那麼引數的指定方式自然也很型別,上述命令列中顯示的引數,也可以指定在配置檔案中,這個配置檔案與mysql的my.cnf很類似,甚至完全可以將引數就放在my.cnf中,在呼叫mysql-proxy命令時通過--defaults-file指定引數檔案,引數檔案中引數配置規則也與mysql相同,例如:
[mysql-proxy]
admin-address = host:port
admin-user = root
admin-pass = verysafe
..........最上方的[mysql-proxy]標識引數的作用域,引數檔案中指定引數不需要加--字首。
下面就各個引數的不同意義來逐個說明,mysql-proxy支援的引數可以分成四類:
2.1 幫助相關引數
與幫助相關的引數共有四個:
- --help:顯示常用的幫助選項;
- --help-all:顯示全部幫助選項;
- --help-admin:顯示管理模組的幫助選項;
- --help-proxy:顯示代理模組的幫助選項;
2.2 管理相關引數
- --admin-address=host:port:指定管理員主機及服務埠,預設值為localhost:4041。
- --admin-lua-script=script_file:指定管理模組的lua指令碼檔案。
- --admin-username=user:指定登入到mysql-proxy管理介面的使用者名稱。
- --admin-password=pass:指定登入到mysql-proxy管理介面的使用者密碼。
2.3 代理相關引數
- --proxy-address=host:port:簡寫形式-P
指定監聽服務的主機名(或IP地址)及服務埠,預設埠號為4040。
- --proxy-backend-addresses=host:port,簡寫形式-b
指定監聽的主機名(或IP地址)及埠,指定的主機為代理實現連線的MySQL伺服器。可以通過本引數同時指定多個伺服器的方式,實現mysql的負載輪循。如果監聽的mysql服務有多個,MySQL代理會自動按照迴圈方式分配客戶端連線到後臺的mysql服務中。比如說當前設定了a和b兩項mysql服務,當第一個客戶端發起連線請求時,會連線到服務a,第二個連線請求則連線到服務b,而第三個連線請求又連線服務a,以此迴圈。
需要注意本引數在命令列與引數檔案中使用是稍有差異,主要表現中同時指定多個服務的情況下。
當使用命令列模式呼叫本引數時,引數後只能跟一個服務,如果要代理的服務有多個,那麼必須同時指定多個引數,比如說:
# mysql-proxy --proxy-backend-addresses 192.168.0.1:3306 --proxy-backend-addresses 192.168.0.2:3306
如果是使用配置檔案指定本引數的話,就可以在一個引數中指定多個值了,引數值之間以,(逗號)分隔即可,例如:
proxy-backend-addresses = 192.168.0.1:3306, 192.168.0.2:3306
- --proxy-read-only-backend-addresses=host:port:簡寫形式-r
指定監聽的主機名(或IP地址)及埠,該伺服器將僅用於提供只讀服務。
注意:
只有當伺服器對應的內部結構(詳見proxy.global.backends)進行了相關配置,可以通過檢查backend的type列確定其連線的型別時,設定本引數才有效。因此,本選項僅適用於指定lua指令碼檔案,允許使用不同backend型別的情況。- --proxy-lua-script=filename:簡寫形式-s
指定載入的lua指令碼檔案路徑,注意這個指令碼檔案並非mysql-proxy啟動時即載入和解析,而是直到第一個連線建立時才解析,而後每次連線均會重新載入,也就是說在mysql-proxy執行期間可以動態修改lua的指令碼檔案,儲存後會在下次連線建立時即時生效。
- --proxy-pool-no-change-user
當從連線池(proxy-backend-addresses列表)中再次獲取連線時,禁止呼叫MySQL CHANGE_USER介面。預設情況下允許。
- --proxy-fix-bug-25371
修復bug#25371 (mysqld > 5.1.12)的舊libmysql問題。
- --proxy-skip-profiling
禁止分析查詢(跟蹤時間統計資訊),預設情況下允許。
- --no-proxy:禁用代理模組。
2.4 呼叫相關的引數
- --basedir:指定mysql-proxy程式執行的基礎目錄,本引數指定的路徑必須是絕對路徑,如果指定相對路徑的話,mysql-proxy執行時會丟擲異常資訊。
- --daemon:以守護程式模式執行。
- --defaults-file:指定引數檔案路徑,如果不指定本引數,則表示引數由命令列執行時指定。
- --event-threads:指定事件處理的執行緒數,預設為1。
- --keepalive:建立一個守護程式,當發現mysql-proxy程式崩潰則自動重新啟動,windows平臺下該引數無效。
- --log-backtrace-on-crash:當mysql-proxy程式崩潰時呼叫debug生成跟蹤資訊。
- --log-file:指定日誌檔案,記錄mysql-proxy執行過程中的資訊。
- --log-level:日誌記錄級別,有error/warning/info/message/debug幾種選擇。
- --log-use-syslog:記錄mysql-proxy錯誤日誌到系統日誌中,僅用於linux/unix平臺。
- --lua-cpah:設定LUA_CPATH環境變數
- --lua-path:設定LUA_PATH環境變數
- --max-open-files:指定mysql-proxy最大能開啟的檔案數
- --pid-file:指定儲存pid資訊的檔案(僅用於守護模式)
- --plugin-dir:指定外掛所在路徑;
- --plugins:指定載入的外掛;
- --user:指定執行mysql-proxy的使用者。
- --version:簡寫形式-V,顯示mysql-proxy的版本資訊。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7607759/viewspace-688420/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Ubuntu安裝mysql-proxyUbuntuMySql
- MySQL資料庫入門多例項配置MySql資料庫
- Proxy例項set()
- 管理 MySQL Shell 配置選項MySql
- ES6-Proxy Reflect 入門學習
- wget使用proxy的配置wget
- Django+MySQL 例項入門DjangoMySql
- nginx配置proxy_set_headerNginxHeader
- Docker 入門系列三:Docker 應用部署-MySQLDockerMySql
- MySQL入門--伺服器配置MySql伺服器
- 十五張圖帶你快速入門 shardingsphere-proxy
- 在 Pisa-Proxy 中,如何利用 Rust 實現 MySQL 代理RustMySql
- Proxy
- MySQL多例項配置MySql
- mysql新手入門隨筆2MySql
- MySQL入門--MySQL安全MySql
- MySQL入門--mysql命令MySql
- mysql bind_address如何配置多個地址 mysql bind-address選項MySql
- docker – nginx – proxy_pass + proxy_redirectDockerNginx
- MySQL叢集架構:MHA+MySQL-PROXY+LVS實現MySQL叢集架構高可用/高效能MySql架構
- Nginx代理緩衝 proxy_buffering 配置Nginx
- nginx || apache 配置 API 介面對映 proxyNginxApacheAPI
- Proxy invocationHandler
- Proxy模式模式
- proxy 收集
- LAMP(Linux+Apache+MySQL+PHP)(四)+Discuz+Redis+Mysql-proxy讀寫分離(centos7)LAMPLinuxApacheMySqlPHPRedisCentOS
- MySQL入門系列:MySQL概述MySql
- Mysql入門【Mysql約束】MySql
- MySQL入門MySql
- ShardingSphere-proxy-5.0.0建立mysql讀寫分離的連線(六)MySql
- Proxy詳解,運用與Mobx
- SQL快速入門 ( MySQL快速入門, MySQL參考, MySQL快速回顧 )MySql
- centos+docker+mysql 配置與應用CentOSDockerMySql
- 使用shadowtunnel為proxy代理配置多級隧道
- MySQL 多例項配置管理:MySql
- 入門入門入門 MySQL命名行MySql
- Proxy 攔截
- Proxy介紹
- 代理模式(Proxy)模式