溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

mysqlroute配置和使用

發(fā)布時間:2020-06-03 09:16:13 來源:網(wǎng)絡(luò) 閱讀:2180 作者:yzy121403725 欄目:數(shù)據(jù)庫

MySQL Router是MySQL官方推出的一個輕量級MySQL中間件是處于應用client和dbserver之間的輕量級代理程序,它能檢測,分析和轉(zhuǎn)發(fā)查詢到后端數(shù)據(jù)庫實例,并把結(jié)果返回給client。是mysql-proxy的一個替代品.但是和mysql-proxy有區(qū)別。mysqlroute使用了兩個端口進行讀寫分離

默認端口號作用說明
7001默認的是讀寫端口mode = read-write默認情況下第一臺主數(shù)據(jù)庫為寫主庫,當?shù)谝慌_主數(shù)據(jù)庫DOWN機后,第二臺數(shù)據(jù)庫被提升為主庫,如果第一臺不出問題,第二臺是不會被使用的??梢宰鞲呖捎檬褂?/td>
7002默認是讀端口如果設(shè)置以后,根據(jù)設(shè)置的列表進行輪詢使用

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

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

安裝包下載: 
http://dev.mysql.com/downloads/router/ 
文檔: 
http://downloads.mysql.com/docs/mysql-router-en.pdf 
我選擇了二進制安裝: 
系統(tǒng)是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.創(chuàng)建必要的文件,復制配置文件

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

# 主節(jié)點故障轉(zhuǎn)移配置

[routing:basic_failover]

# 寫節(jié)點地址

bind_address=0.0.0.0

# 寫節(jié)點端口

bind_port = 7001

# 模式,讀寫

mode = read-write

# 默認情況下第一臺主數(shù)據(jù)庫為寫主庫,當?shù)谝慌_主數(shù)據(jù)庫DOWN機后,第二臺數(shù)據(jù)庫被提升為主庫

destinations = 192.168.10.191:3306

# 從節(jié)點負載均衡配置

[routing:balancing]

# 綁定的IP地址

bind_address=0.0.0.0

# 監(jiān)聽的端口bind_port = 7002

# 連接超時時間

connect_timeout = 3

# 最大連接數(shù)

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 -h227.0.0.1 -uappuser -p123456 -e"show databases;" -P7001


向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI