1、下載
https://dev.mysql.com/get/Downloads/MySQL-Router/mysql-router-2.0.4-linux-glibc2.12-x86-64bit.tar.gz
2、安裝
tar -xzvf mysql-router-2.0.4-linux-glibc2.12-x86-64bit.tar.gz -C /usr/local/ ln -s /usr/local/mysql-router-2.0.4-linux-glibc2.12-x86-64bit /usr/local/mysqlrouter export PATH=/usr/local/mysqlrouter/bin/:$PATH
3、測試安裝是否成功
mysqlrouter --help
4、配置mysql-router
/usr/local/mysqlrouter/etc/mysqlrouter.cnf
[DEFAULT] # 定義日志目錄 logging_folder = /var/log/mysqlrouter [logger] # 定義日志等級 level = INFO # 一個高可用的標簽 [routing:failover] bind_address = 0.0.0.0 bind_port = 7001 max_connections = 1024 # 目前就支持兩種 : read-write 和 read-only # read-write:用於高可用,用於可讀可寫 # read-only:用於負載均衡,只讀 mode = read-write # 實際轉發的地址 # 第一個socket如果可用,就一直會使用第一個 # 如果第一個socket無法連接了,才會連接到第二個socket destinations = 192.168.192.139:3306 # 一個用於復雜均衡的標簽 [routing:balancing] bind_address = 0.0.0.0 bind_port = 7002 max_connections = 1024 # 用於負載均衡的只讀模式 mode = read-only # 這里的兩個socket是輪詢用的 destinations = 192.168.192.136:3306, 192.168.192.138:3306
5.創建相關目錄
mkdir -pv /var/log/mysqlrouter
6.啟動
mysqlrouter --config /usr/local/mysqlrouter/etc/mysqlrouter.cnf &
7.測試
mysql -h192.168.192.135 -uadmin -pAbc_123456 -e "select @@server_id" -P 7002
mysql -h192.168.192.135 -uadmin -pAbc_123456 -e "select @@server_id" -P 7001
8.備注
按照配置,讀寫操作在master,讀操作輪詢到slave1和slave2
如果master宕機,master則不能寫入,master服務重啟后,需要也重啟下MySQLrouter