MySQL Router 設定檔說明
設定檔範例:
[DEFAULT]
[logger]
此為standalone的設定內容
[routing:<名稱自訂>]
此為Fabric Cache Plug-in的設定內容
[fabric_cache:<名稱自訂>] *這裡的名稱在後面的設定也會用到
[DEFAULT]
logging_folder = /opt/mysql-router/log
plugin_folder = /opt/mysql-router/lib/mysqlrouter
runtime_folder = /opt/mysql-router/run
config_folder = /opt/mysql-router
[logger]
level = INFO
## these section are only for standalone
[routing:read_write]
bind_address = 192.168.56.107
bind_port = 7001
destinations = 192.168.56.102:3306,192.168.56.102:3307
mode = read-write
connect_timeout = 5
max_connections = 100
[routing:read_only]
bind_address = 192.168.56.107
bind_port = 7002
destinations = 192.168.56.102:3308,192.168.56.102:3309
mode = read-only
connect_timeout = 1
max_connections = 100
## these section are used for Fabric
[fabric_cache:my_fabric]
address = 192.168.56.101
user = fabric
[routing:fabric_rw]
bind_port = 7001
mode = read-write
destinations = fabric+cache://my_fabric/group/mygroup1
[routing:fabric_ro]
bind_port = 7002
mode = read-only
destinations = fabric+cache://my_fabric/group/mygroup1?allow_primary_reads=yes
[DEFAULT]
- logging_folder:log存放的位置,預設檔名會叫mysqlrouter.log,如果沒有設的話就是標準輸出(stdout)
- plugin_folder:指到MySQL Router plugins的位置,如果是用tar裝的話會在安裝目錄下的lib/mysqlrouter,如果是用rpm裝的話會是在/usr/local/lib/mysqlrouter(預設路徑)
- runtime_folder:rumtime的檔案存放位置,預設是放在/usr/local/
- config_folder:設定檔存放位置,預設是在/usr/local/etc/mysqlrouter
- level:記錄log的等級(區分大小寫)
- INFO(預設):所有訊息,包含警告和錯誤訊息
- DEBUG
- 在2.0.2版本中還不包含WARNING, ERROR, FATAL等級
此為standalone的設定內容
[routing:<名稱自訂>]
- bind_address:指定host/IP,如果沒有設定預設是127.0.0.1,在一個群組裡面僅能設定一組bind_address,且不能和destinations的host/IP相同,若設定成0.0.0.0:$port表示綁到所有的網路介面上,支援IPv4和IPv6
- bind_port:指定port號,可以在bind_address設或是這裡設都可以,但只能擇其一設定
- connect_timeout:逾時n秒,預設1秒、最長65536,若設超過這個值在啟動時會報錯,用在Master時可以把時間設長一點,設太短若只是因一時網路瞬斷就會變成不斷的在切換,而用在Slave時可以把時間設短一點
- destinations:目地端,多個host/IP以逗號分隔,沒有設定port號的話預設走3306
- mode:在routing區域這個參數是必需設定的,目前只有2個模式
- 在read-write模式裡永遠會找第一個port(first-available),只有在第一個port連不到時才會去找第二個port
- 在read-only模式裡是由round-robin(輪詢)的方式去讀取的,即第一次連線會連到3308,第二次會連到3309
- max_connections:類似於database裡的max_connections,預設值512,設定值介於1~65536
此為Fabric Cache Plug-in的設定內容
[fabric_cache:<名稱自訂>] *這裡的名稱在後面的設定也會用到
- address:Fabric node的位置
- user:使用者帳號
- destinations=plugin://section_key/target/group_id
- plugin:指的就是要用哪一個plugin,目前只有fabric cache可以,直接設定成fabric+cache
- setcion_key:指的就是fabric_cache區塊設定的名稱,如果你的fabric_cache沒有設key的話,那在這邊就不用輸入,但就會變成plugin:///target/group_id
- target:Fabric物件的類別,目前只有group
- group_id:是指Fabric HA群組的id(群組名稱)
- allow_primary_reads={yes|no}:這個設成yes時在Fabric HA群組中所有的節點都可以當成唯讀的伺服器(primary & secondaries),也就是說如果今天只有一台Master和一台Slave,有可能你讀到的server是Master;反之設成no的話,只會在secondary server中讀取資料;
*如果設成yes時,又把mode設read-write時是無效的 - 啟用Fabric cache plugin時destinations除了可以透過Fabric來抓write server,也可以自己直接指定server(如standalone設定)
參考網址:
http://mysqlhighavailability.com/configuring-mysql-router/
https://dev.mysql.com/doc/mysql-router/en/
留言
張貼留言