1. 程式人生 > >mysqlroute配置和使用

mysqlroute配置和使用

mysql mysqlrouter mysql-router

MySQL Router是MySQL官方推出的一個輕量級MySQL中間件是處於應用client和dbserver之間的輕量級代理程序,它能檢測,分析和轉發查詢到後端數據庫實例,並把結果返回給client。是mysql-proxy的一個替代品.但是和mysql-proxy有區別。mysqlroute使用了兩個端口進行讀寫分離

默認端口號作用說明
7001默認的是讀寫端口mode = read-write默認情況下第一臺主數據庫為寫主庫,當第一臺主數據庫DOWN機後,第二臺數據庫被提升為主庫,如果第一臺不出問題,第二臺是不會被使用的。可以作高可用使用
7002默認是讀端口如果設置以後,根據設置的列表進行輪詢使用

MySQL Router接受前端應用程序請求後,根據不同的端口來區分讀寫,把連接讀寫端口的所有寫和查詢發往主庫,把連接只讀端口的查詢以輪詢方式發往多個從庫,從而實現讀寫分離的目的。讀寫返回的結果會交給MySQL Router,由MySQL Router返回給客戶端的應用程序。
我理解的是mysql-proxy在使用的時候與連接單臺數據庫操作一樣,而mysql route則是把多臺主機的讀寫集中在一起,進行讀寫分離,在使用的時候還是需要程序進行改動。具體性能測試,在接下的文章中會慢慢測試

安裝可以使用多種方式,因為測試我選擇了二進制包

安裝包下載:
http://dev.mysql.com/downloads/router/

文檔:
http://downloads.mysql.com/docs/mysql-router-en.pdf
我選擇了二進制安裝:
系統是centos7-1604-mini

1.下載

cd /usr/local/ && wget -c https://dev.mysql.com/get/Downloads/MySQL-Router/mysql-router-2.0.4-linux-glibc2.12-x86-64bit.tar.gz

cd /usr/local/ && tar -zxvf mysql-router-2.0.4-linux-glibc2.12-x86-64bit.tar.gz

ln -s mysql

-router-2.0.4-linux-glibc2.12-x86-64bit/ mysql-router

2.創建必要的文件,復制配置文件

mkdir /etc/mysql-route/

mkdir /var/log/mysql-route

chown mysql:mysql /var/log/mysql-route

cp /usr/local/mysql-router/share/doc/mysqlrouter/sample_mysqlrouter.ini /etc/mysql-route/mysqlrouter.conf

mysqlrouter.conf修改

[DEFAULT]logging_folder = /var/log/mysql-route

plugin_folder = /usr/local/mysql-router/lib/mysqlrouter

config_folder = /etc/mysql-route

runtime_folder = /var/run/ [logger]level = INFO

# 主節點故障轉移配置

[routing:basic_failover]

# 寫節點地址

bind_address=0.0.0.0

# 寫節點端口

bind_port = 7001

# 模式,讀寫

mode = read-write

# 默認情況下第一臺主數據庫為寫主庫,當第一臺主數據庫DOWN機後,第二臺數據庫被提升為主庫

destinations = 192.168.10.191:3306

# 從節點負載均衡配置

[routing:balancing]

# 綁定的IP地址

bind_address=0.0.0.0

# 監聽的端口bind_port = 7002

# 連接超時時間

connect_timeout = 3

# 最大連接數

max_connections = 1024

# 後端服務器地址.默認讀進行輪詢

destinations = 192.168.10.192:3306,192.168.10.191:3306

# 模式:讀還是寫

mode = read-only

[keepalive]interval = 60

8、啟動mysqlrouter

mysqlrouter --config /usr/local/mysqlrouter/etc/mysqlrouter.conf &

測試通過mysqlrouter這個中間件來連接mysql庫

mysql -h127.0.0.1 -uappuser -p123456 -e"show databases;" -P7001


本文出自 “夢想照進現實” 博客,請務必保留此出處http://lookingdream.blog.51cto.com/5177800/1923707

mysqlroute配置和使用