成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

mysql集群怎么配 mysql支持集群部署嗎

mysql集群的幾種方案

Asynchronous?Replication?Automatic failover

成都創(chuàng)新互聯(lián)秉承實現(xiàn)全網(wǎng)價值營銷的理念,以專業(yè)定制企業(yè)官網(wǎng),成都網(wǎng)站設(shè)計、成都做網(wǎng)站,微信小程序定制開發(fā),網(wǎng)頁設(shè)計制作,成都做手機(jī)網(wǎng)站營銷型網(wǎng)站幫助傳統(tǒng)企業(yè)實現(xiàn)“互聯(lián)網(wǎng)+”轉(zhuǎn)型升級專業(yè)定制企業(yè)官網(wǎng),公司注重人才、技術(shù)和管理,匯聚了一批優(yōu)秀的互聯(lián)網(wǎng)技術(shù)人才,對客戶都以感恩的心態(tài)奉獻(xiàn)自己的專業(yè)和所長。

其原理是在一條異步復(fù)制通道上配置多個可用復(fù)制源,當(dāng)某個復(fù)制源不可用時(宕機(jī)、復(fù)制鏈路中斷),且 slave 的 IO 線程嘗試重連無效,自動根據(jù)權(quán)重選擇新的源繼續(xù)同步。

準(zhǔn)備一個 MGR 集群和單實例,模擬復(fù)制鏈路切換,當(dāng) primary 故障,slave 自動切換到其他節(jié)點。dbdeployer?deploy?replication?--topology=group?8.0.22?--single-primarydbdeployer deploy single 8.0.22

2. 在從機(jī)上建立指向 MGR 主節(jié)點的復(fù)制通道,

change master to master_user='msandbox',master_password='msandbox', master_host='127.0.0.1',master_auto_position=1,source_connection_auto_failover=1,master_port=23223,master_retry_count=6,master_connect_retry=10 for channel 'mgr-single';

在 master_retry_count 和 master_connect_retry 的設(shè)置上要考慮嘗試重連多久才切換復(fù)制源。

3. 在從機(jī)上配置 asynchronous connection auto failover

配置 asynchronous connection auto failover 的兩個函數(shù):

asynchronous_connection_failover_add_source(channel-name,host,port,network-namespace,weight)

asynchronous_connection_failover_delete_source(channel-name,host,port,network-namespace)

權(quán)重值大的被優(yōu)先級選擇,可以配合MGR的選舉權(quán)重配置 asynchronous_connection_failover 的權(quán)重。當(dāng) MGR 節(jié)點切換,異步復(fù)制也能切換到新的主節(jié)點。

SELECT asynchronous_connection_failover_add_source('mgr-single','127.0.0.1',23223,null,100); SELECT asynchronous_connection_failover_add_source('mgr-single','127.0.0.1',23224,null,80); SELECT asynchronous_connection_failover_add_source('mgr-single','127.0.0.1',23225,null,50);start?slave?for?channel?'mgr-single';

4. 檢查異步復(fù)制通道是否啟用 failover。

mysql SELECT CHANNEL_NAME, SOURCE_CONNECTION_AUTO_FAILOVER FROM performance_schema.replication_connection_configuration; +--------------+---------------------------------+| CHANNEL_NAME | SOURCE_CONNECTION_AUTO_FAILOVER |+--------------+---------------------------------+|?mgr-single?? |??1??????????????????????????????|+--------------+---------------------------------+1 row in set (0.01 sec

5. 把 MGR 的 primary 節(jié)點 kill 掉,這個從節(jié)點會在嘗試幾輪重連失敗后自動切換到次權(quán)重的復(fù)制源,其日志中會輸出切換信息。

注意:當(dāng)主節(jié)點故障,一旦復(fù)制鏈路成功 failover 后,在新的復(fù)制鏈路沒有故障時,如果原主節(jié)點恢復(fù),是不會回切的。如果當(dāng)前復(fù)制鏈路發(fā)生故障,會再次選擇權(quán)重高的進(jìn)行切換

如何在Windows系統(tǒng)中配置Mysql群集

MySQL 群集是一種技術(shù),該技術(shù)允許在無共享的系統(tǒng)中部署“內(nèi)存中”和“磁盤中”數(shù)據(jù)庫的 Cluster 。通過無共享體系結(jié)構(gòu),系統(tǒng)能夠使用廉價的硬件,而且對軟硬件無特殊要求。此外,由于每個組件有自己的內(nèi)存和磁盤,不存在單點故障。MySQL Cluster 由一組計算機(jī)構(gòu)成,每臺計算機(jī)上均運行著多種進(jìn)程,包括 MySQL 服務(wù)器,NDB Cluster 的數(shù)據(jù)節(jié)點,管理服務(wù)器,以及(可能存在的)專門的數(shù)據(jù)訪問程序。

管理服務(wù)器(MGM節(jié)點)負(fù)責(zé)管理 Cluster 配置文件和 Cluster 日志。Cluster 中的每個節(jié)點從管理服務(wù)器檢索配置數(shù)據(jù)。當(dāng)數(shù)據(jù)節(jié)點內(nèi)出現(xiàn)新的事件時,節(jié)點將關(guān)于這類事件的信息傳輸?shù)焦芾矸?wù)器,然后,將這類信息寫入 Cluster 日志。

目前能夠運行 MySQL Cluster 的操作系統(tǒng)有 Linux、Mac OS X 和 Solaris,最新的版本已經(jīng)支持 Windows 操作系統(tǒng)。

MySQL 群集的數(shù)據(jù)節(jié)點之間的通信是不加密的,并且需要高速的帶寬,所以建議把群集建立在一個高速局域網(wǎng)內(nèi),不建議跨網(wǎng)段、跨公網(wǎng)的部署這種系統(tǒng)體系。

MySQL 群集分為三種節(jié)點:管理節(jié)點,數(shù)據(jù)節(jié)點和SQL節(jié)點。

管理節(jié)點:主要用于管理各個節(jié)點,能夠通過命令對某個節(jié)點進(jìn)行重啟、關(guān)閉、啟動等操作。也能夠監(jiān)視全部節(jié)點的工作狀態(tài)。

數(shù)據(jù)節(jié)點:主要是對數(shù)據(jù)的存儲,不提供其他的服務(wù)。

SQL節(jié)點:主要是對外提供SQL功能,類似一臺普通的 MySQL Server。

而SQL節(jié)點和數(shù)據(jù)節(jié)點可以是同一臺機(jī)器,也就是說這臺機(jī)器即是SQL節(jié)點也是數(shù)據(jù)節(jié)點。它們只是邏輯關(guān)系上的劃分,實際部署時,甚至所有的階段都可以位于同一臺物理機(jī)器上,只是配置較復(fù)雜些。

一、軟件下載機(jī)器操作環(huán)境

配置 MySQL 群集必需使用其群集版本,注意和 MySQL Server 版本的區(qū)別。本文以 Windows 平臺下的 MySQL 群集版本 MySQL Cluster 7.1.3 為例(截至2010年6月初的最高版本),這是 MySQL Server 5.1 系列版本之一,添加了群集的功能。下載地址為:,選擇 mysql-cluster-gpl-noinstall-7.1.3-win32.zip 文件,這是一個 for Windows 32位版本的、免安裝的二進(jìn)制版本。

根據(jù)自己的操作系統(tǒng)的位數(shù),也可以選擇 64 位版本的。還有一個 27.2M 的 Windows(x86, 32-bit) 版本,下載下來需要自己編譯,有經(jīng)驗的高級用戶可以選用。

本實驗在 2 臺安裝 Windows Server 2003(sp2) 的機(jī)器上進(jìn)行。節(jié)點分配及 IP 配置如下:

第一臺機(jī)器,IP 為 10.0.0.201,作為管理節(jié)點(MGM),SQL節(jié)點1(SQL1),數(shù)據(jù)節(jié)點1(NDBD1)。

第二臺機(jī)器,IP 為 10.0.0.202,作為SQL節(jié)點2(SQL2),數(shù)據(jù)節(jié)點2(NDBD2)。

管理節(jié)點最好不要與數(shù)據(jù)節(jié)點部署在同一臺服務(wù)器上,否則可能會因為該數(shù)據(jù)節(jié)點服務(wù)器的當(dāng)機(jī),而導(dǎo)致管理節(jié)點服務(wù)器的問題,從而導(dǎo)致整個群集系統(tǒng)的崩潰。

二,配置管理節(jié)點:

在第一臺機(jī)器上,建文件夾 D:\mysql-cluster,在其下建立文件 config.ini,內(nèi)容如下:

[NDBD DEFAULT]

NoOfReplicas=1

[MYSQLD DEFAULT]

[NDB_MGMD DEFAULT]

[TCP DEFAULT]

# Managment Server

[NDB_MGMD]

hostname=10.0.0.201

# Storage Engines

[NDBD]

hostname=10.0.0.201

datadir= D:\data

[NDBD]

hostname=10.0.0.202

datadir= D:\data

# SQL Engines

[MYSQLD]

hostname=10.0.0.201

[MYSQLD]

hostname=10.0.0.202

Cluster 管理節(jié)點的默認(rèn)端口是1186,數(shù)據(jù)節(jié)點的默認(rèn)端口是 2202。從 MySQL 5.0.3開始,該限制已被放寬,Cluster 能夠根據(jù)空閑的端口自動地為數(shù)據(jù)節(jié)點分配端口。如果你的版本低于5.0.22,請注意這個細(xì)節(jié)。

Cluster 管理節(jié)點作為一個服務(wù)端(通過運行 db_mgmd.exe 程序讀取本配置文件來啟動),通過本機(jī)上的客戶端 ndb_mgm.exe 來連接和操作。

三、配置 MySQL 數(shù)據(jù)庫服務(wù)器:

在2臺機(jī)器上,分別依次操作。

解壓 mysql-cluster-gpl-noinstall-7.1.3-win32.zip 文件到 D:\mysql-cluster-gpl-noinstall-7.1.3-win32 文件夾下,把 D:\mysql-cluster-gpl-noinstall-7.1.3-win32\bin 加到 Windows 的系統(tǒng) path 中。

打開DOS命令行窗口(配置完系統(tǒng)path后,在再次打開新的命令行窗口),執(zhí)行以下語句,讓 MySQL 作為 Windows 服務(wù)運行:

mysqld.exe -install mysql

再在 Windows 服務(wù)管理界面里,配置 mysql 服務(wù),手動啟動(不要自動啟動)。

把 D:\mysql-cluster-gpl-noinstall-7.1.3-win32 下的某個備用的配置文件(例如my-small.ini)復(fù)制為 my.ini 文件。

建立 D:\tmp 文件夾。

四、配置SQL節(jié)點和數(shù)據(jù)節(jié)點:

在2臺機(jī)器上,分別依次操作。

建立文件夾 D:\data。

編輯 NySQL 配置文件 D:\mysql-cluster-gpl-noinstall-7.1.3-win32\my.ini,在 [mysqld] 節(jié)末尾加語句:

#SQL群集節(jié)點

ndbcluster

ndb-connectstring=10.0.0.201

有了 ndbcluster 語句,mysql 服務(wù)將作為群集的 SQL 節(jié)點啟動。mysqld.exe 命令帶參數(shù) –ndbcluster 運行是一樣的效果。

mysql 服務(wù)連接到數(shù)據(jù)節(jié)點的 2202 默認(rèn)端口,或自動分配的別的可用端口。

(問題:SQL節(jié)點如何獲得數(shù)據(jù)節(jié)點的IP地址?是否通過連接管理節(jié)點,取得所有數(shù)據(jù)節(jié)點的IP地址的列表?)

這里的連接字符串的值在 MySQL 服務(wù)啟動時使用,用于連接到管理節(jié)點。

在末尾加語句:

#NDB集群節(jié)點

[mysql_cluster]

ndb-connectstring=10.0.0.201

注:好像以下形式也可:

[ndbd]

ndb-connectstring=10.0.0.201

這里的連接字符串的值在數(shù)據(jù)節(jié)點啟動時使用,用于連接到管理節(jié)點。

五,啟動群集各服務(wù)器

啟動順序依次是:管理節(jié)點、數(shù)據(jù)節(jié)點、SQL節(jié)點。

1,啟動管理節(jié)點

在第一臺服務(wù)器的DOS窗口,運行命令:

C:\ndb_mgmd.exe -f d:\mysql-cluster.conf\config.ini –configdir=d:\mysql-cluster

注:如果不帶 –configdir=d:\mysql-cluster 參數(shù),將默認(rèn)為 C:\mysql\mysql-cluster 文件夾。

屏幕顯示:

C:\ndb_mgmd.exe -f d:\mysql-cluster.conf\config.ini –configdir=d:\mysql-cluster

2010-06-10 01:16:57 [MgmtSrvr] INFO — NDB Cluster Management Server. mysql-5.1.44 ndb-7.1.3

2010-06-10 01:16:57 [MgmtSrvr] INFO — Reading cluster configuration from ‘d:\mysql-cluster.conf\config.ini'

2010-06-10 01:16:57 [MgmtSrvr] INFO — Got initial configuration from ‘d:\mysql-cluster.conf\config.ini', will try to set it when all ndb_mgmd(s) started

2010-06-10 01:16:57 [MgmtSrvr] INFO — Mgmt server state: nodeid 1 reserved for ip 10.0.0.201, m_reserved_nodes 1.

2010-06-10 01:16:57 [MgmtSrvr] INFO — Id: 1, Command port: *:1186

==INITIAL==

2010-06-10 01:16:57 [MgmtSrvr] INFO — Starting initial configuration change

2010-06-10 01:16:57 [MgmtSrvr] INFO — Configuration 1 commited

2010-06-10 01:16:57 [MgmtSrvr] INFO — Config change completed! New generation: 1

==CONFIRMED==

2,啟動數(shù)據(jù)節(jié)點

分別在2臺服務(wù)器的DOS窗口運行命令。

第一次,或初始化群集節(jié)點時,運行命令:

ndbd.exe –initial

初始化之后,只運行 ndbd.exe 即可。若帶參數(shù) –initial 運行,將使正常運行的群集系統(tǒng)中,數(shù)據(jù)節(jié)點的數(shù)據(jù)全部丟失。

數(shù)據(jù)節(jié)點依賴管理節(jié)點服務(wù)器,進(jìn)行數(shù)據(jù)的自動復(fù)制和同步,使各個數(shù)據(jù)節(jié)點的數(shù)據(jù)保持一致,并在某個數(shù)據(jù)節(jié)點意外關(guān)閉又恢復(fù)后,進(jìn)行數(shù)據(jù)的恢復(fù)重建。

3,啟動SQL節(jié)點

有了 ndbcluster 語句,啟動 mysql 服務(wù),就啟動了SQL節(jié)點。應(yīng)在前2種節(jié)點啟動后,分別在2臺服務(wù)器上進(jìn)行。

六、群集管理

在所有的數(shù)據(jù)節(jié)點和SQL節(jié)點未啟動之前,運行群集管理節(jié)點服務(wù)的客戶端 ndb_mgm.exe,只能獲得以下信息:

C:\ndb_mgm.exe

— NDB Cluster — Management Client –

ndb_mgm show

Cluster Configuration

———————

[ndbd(NDB)] 2 node(s)

id=2 (not connected, accepting connect from 10.0.0.201)

id=3 (not connected, accepting connect from 10.0.0.202)

[ndb_mgmd(MGM)] 1 node(s)

id=1 @10.0.0.201 (mysql-5.1.44 ndb-7.1.3)

[mysqld(API)] 2 node(s)

id=4 (not connected, accepting connect from 10.0.0.201)

id=5 (not connected, accepting connect from 10.0.0.202)

ndb_mgm

說明數(shù)據(jù)節(jié)點、SQL節(jié)點均未連接到管理節(jié)點服務(wù)。

在所有的數(shù)據(jù)節(jié)點和SQL節(jié)點正確啟動之后,將獲得以下信息:

ndb_mgm show

Cluster Configuration

———————

[ndbd(NDB)] 2 node(s)

id=2 @10.0.0.201 (mysql-5.1.44 ndb-7.1.3, Nodegroup: 0, Master)

id=3 @10.0.0.202 (mysql-5.1.44 ndb-7.1.3, Nodegroup: 1)

[ndb_mgmd(MGM)] 1 node(s)

id=1 @10.0.0.201 (mysql-5.1.44 ndb-7.1.3)

[mysqld(API)] 2 node(s)

id=4 @10.0.0.201 (mysql-5.1.44 ndb-7.1.3)

id=5 @10.0.0.202 (mysql-5.1.44 ndb-7.1.3)

ndb_mgm

關(guān)閉群集的DOS命令:

ndb_mgm -e shutdown

或在 ndb_mgm 環(huán)境下執(zhí)行 shutdown 命令。

以上命令或關(guān)閉管理節(jié)點服務(wù)和所有的數(shù)據(jù)節(jié)點。隨意、強(qiáng)行關(guān)閉群集系統(tǒng)(關(guān)機(jī)或關(guān)閉進(jìn)程),會導(dǎo)致數(shù)據(jù)沒有全部寫回磁盤而導(dǎo)致的數(shù)據(jù)丟失。

關(guān)閉SQL節(jié)點的 mysqld 服務(wù):

C:\net stop mysql,或:

C:\mysqladmin -u root shutdown

七、測試

正常運行的 MySQL 群集系統(tǒng),通過SQL節(jié)點可以對數(shù)據(jù)節(jié)點進(jìn)行數(shù)據(jù)庫操作,各數(shù)據(jù)節(jié)點可以自動進(jìn)行數(shù)據(jù)同步。某一個數(shù)據(jù)節(jié)點關(guān)閉后,不影響SQL節(jié)點的使用。某些數(shù)據(jù)節(jié)點出錯后,可以進(jìn)行恢復(fù)。需要注意的是,SQL節(jié)點建立數(shù)據(jù)庫時,必須選擇“ndbcluster”數(shù)據(jù)庫引擎。如果不選擇“ndbcluster”引擎,建立的數(shù)據(jù)庫將不會進(jìn)入MySQL群集系統(tǒng)中,但是可以獨立使用。

另外,每個 NDB 表必須有一個主鍵。如果在創(chuàng)建表時未定義主鍵,NDB Cluster 存儲引擎將自動生成隱含的主鍵。該隱含的鍵也將占用空間,就像任何其他的表索引一樣。由于沒有足夠的內(nèi)存來容納這些自動創(chuàng)建的鍵,出現(xiàn)問題并不罕見。

如何配置MySQL集群在一臺服務(wù)器

下文就是教你如何在一臺服務(wù)器上搭建Cluster。

一,先確認(rèn)Cluster的包已經(jīng)正確安裝

[root@cluster-one ~]# rpm -aq|grep -i mysql

MySQL-Cluster-client-gpl-7.2.10-1.el6.x86_64

MySQL-Cluster-server-gpl-7.2.10-1.el6.x86_64

MySQL-Cluster-shared-compat-gpl-7.2.10-1.el6.x86_64

MySQL-Cluster-devel-gpl-7.2.10-1.el6.x86_64

二,創(chuàng)建如下幾個配置文件,下面啟動時要用到

[root@cluster-one mysqlData]# more config.ini

[NDBD DEFAULT]

NoOfReplicas=2

[TCP DEFAULT]

#portnumber=3388

[NDB_MGMD]

NodeId = 1

hostname=localhost

datadir=/mysqlData/clustermgmd-data/

[NDBD]

NodeId = 2

hostname=localhost

datadir=/mysqlData/clusterndb1-data/

[NDBD]

如何安裝配置基于2臺服務(wù)器的MySQL集群

Servers1和Server2作為實際配置MySQL集群的服務(wù)器。

對于作為管理節(jié)點的Server3則要求較低,只需對Server3的系統(tǒng)進(jìn)行很小的調(diào)整并且無需安裝MySQL,Server3可以使用一臺配置較低的計算機(jī)并且可以在Server3同時運行其他服務(wù)。

新聞標(biāo)題:mysql集群怎么配 mysql支持集群部署嗎
分享路徑:http://jinyejixie.com/article6/docheig.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站建設(shè)、做網(wǎng)站、全網(wǎng)營銷推廣、標(biāo)簽優(yōu)化網(wǎng)站收錄、網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運營
从江县| 浠水县| 宜春市| 永寿县| 洛扎县| 德阳市| 商河县| 庆安县| 贵南县| 南涧| 马龙县| 防城港市| 宁远县| 鄄城县| 赞皇县| 保康县| 正宁县| 盘锦市| 南漳县| 安多县| 辽阳市| 建湖县| 定远县| 孟津县| 西平县| 周至县| 仲巴县| 横山县| 丁青县| 德保县| 昌邑市| 杭州市| 博湖县| 镇雄县| 玉环县| 兴隆县| 噶尔县| 安义县| 芒康县| 洞头县| 达日县|