五月综合激情婷婷六月,日韩欧美国产一区不卡,他扒开我内裤强吻我下面视频 ,无套内射无矿码免费看黄,天天躁,日日躁,狠狠躁

新聞動態(tài)

MySQL Router的安裝部署

發(fā)布日期:2022-02-14 08:01 | 文章來源:gibhub

01 MySQL Router介紹

前面的文章中,我們說了ReplicaSet的基本概念MySQL Shell工具以及如何使用MySQL Shell搭建Innodb Replicaset。今天我們來看InnoDB ReplicaSet部署過程中的另一個(gè)重要組件MySQL Router。

MySQL Router是什么?

為了更好的理解Innodb Replicaset,我們把之前的那張圖搬遷過來,如下:

通過上面的圖,不難看出,MySQL Router是應(yīng)用程序連接的入口,它的存在,讓底層的架構(gòu)對應(yīng)用程序透明,應(yīng)用程序只需要連接MySQL Router就可以和底層的數(shù)據(jù)庫打交道,而數(shù)據(jù)庫的主從架構(gòu),都是記錄在MySQL Router的原信息里面的。

版本

MySQL Router是MySQL官方的一款輕量級的高性能中間件,它介于應(yīng)用程序和MySQL Server之間,應(yīng)用程序通過連接MySQL Router和底層的MySQL Server之間通信,它對應(yīng)用程序是透明的。官方文檔建議搭配MySQL8.0或者M(jìn)ySQL5.7的Server使用。目前最新的版本是MySQL Router 8,如果您使用過MySQL Router的2.0或者2.1版本,強(qiáng)烈建議升級到MySQL Router 8。

MySQL Router特點(diǎn)?

1、對應(yīng)用透明。MySQL Router要做到對應(yīng)用透明,它必須連接底層的MySQL,并知道當(dāng)前哪個(gè)節(jié)點(diǎn)是Primary,這樣,才能夠在發(fā)生故障的時(shí)候進(jìn)行故障轉(zhuǎn)移。

2、使用場景?;谶@個(gè)特性,它可以用在Innodb Cluster、Innodb Replicaset或者M(jìn)GR的環(huán)境中。

3、MySQL Router會保留在線的MySQL實(shí)例的緩存列表,或者已經(jīng)配置好的Innodb Cluster集群的拓?fù)潢P(guān)系,除此啟動的時(shí)候,這些信息將從MySQL Router的配置表中獲取。

4、為保證緩存中的元信息能夠得到即時(shí)更新,MySQL Router需要保證至少能夠和集群中的一個(gè)正常節(jié)點(diǎn)保持通信,它會從當(dāng)前實(shí)例的Performance_schema表中獲取數(shù)據(jù)庫的原信息和實(shí)時(shí)狀態(tài)。

5、當(dāng)集群中和MySQL Router通信的節(jié)點(diǎn)關(guān)閉時(shí),MySQL Router會嘗試訪問集群中的其他節(jié)點(diǎn)。并重新獲取相關(guān)元數(shù)據(jù)信息。

02 MySQL Router的安裝部署

為了獲取更好的性能,通常情況下,MySQL Router會和應(yīng)用程序部署在一起,這通常是基于下面的考慮:

1、可以通過socket套接字連接到MySQL Router,而不是tcp/ip方法

2、減少了網(wǎng)絡(luò)上的延時(shí)

3、可以配置指定的賬戶來訪問數(shù)據(jù)庫,例如myapp@'host'而不是類似myapp@'%'這種全網(wǎng)段的賬號,有利于提升安全性

4、通常,相比數(shù)據(jù)庫服務(wù)器,應(yīng)用服務(wù)器更容易擴(kuò)展。

官方給的部署架構(gòu)圖如下:

下載安裝過程:

1、直接登錄官網(wǎng)下載MySQL Router的對應(yīng)版本。

https://downloads.mysql.com/archives/router/

2、下載完成之后,解壓,以8.0.20為例,由于是tar.xz格式的文件,解壓命令如下:

xz -d xxx.tar.xz (解壓成tar格式)

tar xvf xxx.tar (即可)

接下來就是初始化過程了,初始化的時(shí)候,需要我們的MySQL Server部署完畢,在之前的文章中,我們已經(jīng)部署好了一個(gè)Innodb Replicaset架構(gòu),它有一主一從,IP地址分別是:

192.168.1.10 5607 Primary

192.168.1.20 5607 Secondary

初始化過程:

1、利用初始化命令初始化MySQL Router:

mysqlrouter
--bootstrapsuperdba@'10.13.3.129':5607
--directory/data1/yazhou5/mysql/mysql-router
--conf-use-sockets
--accountrouterfriend
--account-createalways

這里,需要解釋一下其中的幾個(gè)參數(shù):

--bootstrap 代表引導(dǎo)的實(shí)例,后面接一個(gè)連接信息的URL;
--directory代表生成的配置目錄
--conf-use-sockets代表是否啟用套接字連接(是否生成套接字文件)
--account代表初始化后MySQLRouter使用什么賬號連接MySQLServer
--account-create代表賬號創(chuàng)建策略,always代表只有在account不存在的時(shí)候才進(jìn)行bootstrap操作

這個(gè)命令敲下去之后,返回報(bào)錯(cuò)信息如下:

Error:Youarebootstrapingasasuperuser.
Thiswillmakealltheresultfiles(configetc.)privatelyownedbythesuperuser.
Pleaseuse--user=usernameoptiontospecifytheuserthatwillberunningtherouter.
Use--user=rootifthisreallyshouldbethesuperuser.

系統(tǒng)檢測到我們使用root賬號來進(jìn)行的MySQL Router初始化,提示我們?nèi)绻褂胷oot操作,需要在最后面補(bǔ)充--user=root

2、補(bǔ)充--user=root之后,重新執(zhí)行命令,結(jié)果如下:

[rootmysql-router]#/usr/local/mysql-router-8.0.20/bin/mysqlrouter--bootstrapsuperdba@10.185.13.195:5607--directory/data1/yazhou5/mysql/mysql-router--conf-use-sockets--accountrouterfriend--account-createalways--user=root--force
PleaseenterMySQLpasswordforsuperdba:#這里輸入我們已知的superdba賬號密碼
#BootstrappingMySQLRouterinstanceat'/data1/yazhou5/mysql/mysql-router'...
PleaseenterMySQLpasswordforrouterfriend:#這里創(chuàng)建新的account賬號的密碼
-Creatingaccount(s)
-Verifyingaccount(usingittorunSQLqueriesthatwouldberunbyRouter)
-Storingaccountinkeyring
-Adjustingpermissionsofgeneratedfiles
-Creatingconfiguration/data1/yazhou5/mysql/mysql-router/mysqlrouter.conf
#MySQLRouterconfiguredfortheInnoDBReplicaSet'yeyz_test'
AfterthisMySQLRouterhasbeenstartedwiththegeneratedconfiguration
$/usr/local/mysql-router-8.0.20/bin/mysqlrouter-c/data1/yazhou5/mysql/mysql-router/mysqlrouter.conf
thecluster'yeyz_test'canbereachedbyconnectingto:
##MySQLClassicprotocol
-Read/WriteConnections:localhost:6446,/data1/yazhou5/mysql/mysql-router/mysql.sock
-Read/OnlyConnections:localhost:6447,/data1/yazhou5/mysql/mysql-router/mysqlro.sock
##MySQLXprotocol
-Read/WriteConnections:localhost:64460,/data1/yazhou5/mysql/mysql-router/mysqlx.sock
-Read/OnlyConnections:localhost:64470,/data1/yazhou5/mysql/mysql-router/mysqlxro.sock

可以看到,提示我們輸入兩次密碼之后,bootstrap的操作就算成功了。

3、此時(shí)我們進(jìn)入?yún)?shù)中指定的--directory目錄中,查看生成的初始化文件,可以看到:

drwx------2rootroot4096Apr1223:15data
drwx------2rootroot4096Apr1223:15log
-rw-------1rootroot1532Apr1223:15mysqlrouter.conf
-rw-------1rootroot104Apr1223:15mysqlrouter.key
drwx------2rootroot4096Apr1223:15run
-rwx------1rootroot353Apr1223:15start.sh
-rwx------1rootroot209Apr1223:15stop.sh

生成了一些配置文件和啟停腳本,我們打開這個(gè)配置文件mysqlrouter.conf看看內(nèi)容:

#FileautomaticallygeneratedduringMySQLRouterbootstrap
[DEFAULT]
user=root
logging_folder=/data1/yazhou5/mysql/mysql-router/log
runtime_folder=/data1/yazhou5/mysql/mysql-router/run
data_folder=/data1/yazhou5/mysql/mysql-router/data
keyring_path=/data1/yazhou5/mysql/mysql-router/data/keyring
master_key_path=/data1/yazhou5/mysql/mysql-router/mysqlrouter.key
connect_timeout=15
read_timeout=30
dynamic_state=/data1/yazhou5/mysql/mysql-router/data/state.json
[logger]
level=INFO
[metadata_cache:yeyz_test]
cluster_type=rs
router_id=1
user=routerfriend
metadata_cluster=yeyz_test
ttl=0.5
auth_cache_ttl=-1
auth_cache_refresh_interval=2
[routing:yeyz_test_rw]
bind_address=0.0.0.0
bind_port=6446
socket=/data1/yazhou5/mysql/mysql-router/mysql.sock
destinations=metadata-cache://yeyz_test/?role=PRIMARY
routing_strategy=first-available
protocol=classic
[routing:yeyz_test_ro]
bind_address=0.0.0.0
bind_port=6447
socket=/data1/yazhou5/mysql/mysql-router/mysqlro.sock
destinations=metadata-cache://yeyz_test/?role=SECONDARY
routing_strategy=round-robin-with-fallback
protocol=classic
[routing:yeyz_test_x_rw]
bind_address=0.0.0.0
bind_port=64460
socket=/data1/yazhou5/mysql/mysql-router/mysqlx.sock
destinations=metadata-cache://yeyz_test/?role=PRIMARY
routing_strategy=first-available
protocol=x
[routing:yeyz_test_x_ro]
bind_address=0.0.0.0
bind_port=64470
socket=/data1/yazhou5/mysql/mysql-router/mysqlxro.sock
destinations=metadata-cache://yeyz_test/?role=SECONDARY
routing_strategy=round-robin-with-fallback
protocol=x

4、分析生成的配置文件,不難發(fā)現(xiàn),MySQL Router配置了4個(gè)端口,分別是6446、6447、64460、64470和對應(yīng)的套接字文件。

當(dāng)然,我們可以通過一些參數(shù)的配置改變默認(rèn)的端口和套接字,例如:

--conf-use-sockets:(可選)為所有四種連接類型啟用UNIX域套接字,。
--conf-skip-tcp:(可選)禁用TCP端口,如果只希望使用套接字,則可以通過--conf-use-sockets傳遞該選項(xiàng)。
--conf-base-port:(可選)更改端口范圍,而不使用默認(rèn)端口。默認(rèn)為6446。
--conf-bind-address:(可選)更改每個(gè)路由的bind_address值。

5、使用命令在本地啟動MySQL Router,指定本地生成的配置文件,命令如下:

[root@mysql-router]#/usr/local/mysql-router-8.0.20/bin/mysqlrouter-c/data1/yazhou5/mysql/mysql-router/mysqlrouter.conf&

啟動之后,我們使用剛才創(chuàng)建的routerfriend賬號以及6446這個(gè)讀寫端口來連接MySQL Router:

[root@mysql-router]#mysql-urouterfriend-h127.0.0.1-P6446-p
Enterpassword:
WelcometotheMySQLmonitor.Commandsendwith;or\g.
YourMySQLconnectionidis95696
Serverversion:8.0.19MySQLCommunityServer-GPL
Copyright(c)2000,2013,Oracleand/oritsaffiliates.Allrightsreserved.
OracleisaregisteredtrademarkofOracleCorporationand/orits
affiliates.Othernamesmaybetrademarksoftheirrespective
owners.
Type'help;'or'\h'forhelp.Type'\c'toclearthecurrentinputstatement.
routerfriend@127.0.0.1[(none)]23:42:00>
routerfriend@127.0.0.1[(none)]23:42:01>select@@port;
+--------+
|@@port|
+--------+
|5607|
+--------+
1rowinset(0.00sec)

我們通過6446端口連接MySQL Router之后,然后在MySQL Router中執(zhí)行select @@port命令查看當(dāng)前的端口號信息,可以看到,返回值是5607,說明MySQL Router已經(jīng)幫我們路由到了底層的MySQL Server上面。

這個(gè)routerfriend賬號的權(quán)限可能不夠,我們也可以換成superdba的高權(quán)限賬號去連接mysqlrouter,這樣就可以對MySQL Server中的庫表進(jìn)行讀寫操作。

03 查看MySQL Router的元信息

MySQL Router搭建完畢后,可以通過查看元信息庫mysql_innodb_cluster_metadata里面的表信息,包含cluster表、router表、以及instances表,對應(yīng)的如下:

superdba@127.0.0.1[mysql_innodb_cluster_metadata]23:51:20>select*frominstances;
+-------------+--------------------------------------+--------------------+--------------------------------------+--------------------+----------------------------------------+------------+-------------+
|instance_id|cluster_id|address|mysql_server_uuid|instance_name|addresses|attributes|description|
+-------------+--------------------------------------+--------------------+--------------------------------------+--------------------+----------------------------------------+------------+-------------+
|1|94d5f935-990e-11eb-8832-fa163ebd2444|192.168.1.10:5607|0609f966-690f-11eb-bd89-fa163ebd2444|192.168.1.10:5607|{"mysqlClassic":"192.168.1.10:5607"}|{}|NULL|
|2|94d5f935-990e-11eb-8832-fa163ebd2444|192.168.1.20:5607|c6ba0bf0-6d4d-11eb-aa4b-b00875209c1c|192.168.1.20:5607|{"mysqlClassic":"192.168.1.20:5607"}|{}|NULL|
+-------------+--------------------------------------+--------------------+--------------------------------------+--------------------+----------------------------------------+------------+-------------+
2rowsinset(0.00sec)
superdba@127.0.0.1[mysql_innodb_cluster_metadata]23:51:30>
superdba@127.0.0.1[mysql_innodb_cluster_metadata]23:51:30>select*fromclusters;
+--------------------------------------+--------------+--------------------+---------+------------------------------------------------+--------------+--------------+----------------+
|cluster_id|cluster_name|description|options|attributes|cluster_type|primary_mode|router_options|
+--------------------------------------+--------------+--------------------+---------+------------------------------------------------+--------------+--------------+----------------+
|94d5f935-990e-11eb-8832-fa163ebd2444|yeyz_test|DefaultReplicaSet|NULL|{"adopted":0,"opt_gtidSetIsComplete":false}|ar|pm|NULL|
+--------------------------------------+--------------+--------------------+---------+------------------------------------------------+--------------+--------------+----------------+
1rowinset(0.00sec)
superdba@127.0.0.1[mysql_innodb_cluster_metadata]23:51:57>
superdba@127.0.0.1[mysql_innodb_cluster_metadata]23:51:58>select*fromrouters;
+-----------+-------------+--------------+-------------+---------+---------------------+------------------------------------------------------------------------------------------------------------------------------+--------------------------------------+---------+
|router_id|router_name|product_name|address|version|last_check_in|attributes|cluster_id|options|
+-----------+-------------+--------------+-------------+---------+---------------------+------------------------------------------------------------------------------------------------------------------------------+--------------------------------------+---------+
|1||MySQLRouter|10.13.3.129|8.0.20|2021-04-1223:52:29|{"ROEndpoi

還可以從表中查看當(dāng)前的primary節(jié)點(diǎn)信息,primary_master字段為1的,即為primary節(jié)點(diǎn)。

superdba@127.0.0.1[mysql_innodb_cluster_metadata]23:52:29>select*fromasync_cluster_members;
+--------------------------------------+---------+-------------+--------------------+----------------+------------------------------------------------------------------------------------------------------------------+
|cluster_id|view_id|instance_id|master_instance_id|primary_master|attributes|
+--------------------------------------+---------+-------------+--------------------+----------------+------------------------------------------------------------------------------------------------------------------+
|94d5f935-990e-11eb-8832-fa163ebd2444|2|1|NULL|1|{"instance.address":"192.168.1.10:5607","instance.mysql_server_uuid":"0609f966-690f-11eb-bd89-fa163ebd2444"}|
|94d5f935-990e-11eb-8832-fa163ebd2444|3|1|NULL|1|{"instance.address":"192.168.1.10:5607","instance.mysql_server_uuid":"0609f966-690f-11eb-bd89-fa163ebd2444"}|
|94d5f935-990e-11eb-8832-fa163ebd2444|3|2|1|0|{"instance.address":"192.168.1.20:5607","instance.mysql_server_uuid":"c6ba0bf0-6d4d-11eb-aa4b-b00875209c1c"}|
+--------------------------------------+---------+-------------+--------------------+----------------+------------------------------------------------------------------------------------------------------------------+
3rowsinset(0.01sec)

以上就是MySQL Router的安裝部署的詳細(xì)內(nèi)容,更多關(guān)于MySQL Router的資料請關(guān)注本站其它相關(guān)文章!

香港服務(wù)器租用

版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非maisonbaluchon.cn所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請聯(lián)系alex-e#qq.com處理。

實(shí)時(shí)開通

自選配置、實(shí)時(shí)開通

免備案

全球線路精選!

全天候客戶服務(wù)

7x24全年不間斷在線

專屬顧問服務(wù)

1對1客戶咨詢顧問

在線
客服

在線客服:7*24小時(shí)在線

客服
熱線

400-630-3752
7*24小時(shí)客服服務(wù)熱線

關(guān)注
微信

關(guān)注官方微信
頂部