新聞中心
隨著數(shù)據(jù)量的不斷增加以及應(yīng)用場景的多樣化,數(shù)據(jù)庫的功能需求也隨之增加。數(shù)據(jù)庫集群便應(yīng)運而生。數(shù)據(jù)庫集群是一組相互連接的獨立數(shù)據(jù)庫,它們共享一個單一的系統(tǒng)圖像。數(shù)據(jù)庫集群可以提供更高的可用性、可擴展性、可靠性和安全性。數(shù)據(jù)庫集群較單節(jié)點數(shù)據(jù)庫來說,復(fù)雜度更高,要求更高的技術(shù)水平進行維護。其中,日志存儲是數(shù)據(jù)庫集群維護中的一個重要環(huán)節(jié)。本文將探討數(shù)據(jù)庫集群的日志應(yīng)該存儲在哪個位置。

為喀左等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計制作服務(wù),及喀左網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為成都做網(wǎng)站、成都網(wǎng)站設(shè)計、喀左網(wǎng)站設(shè)計,以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!
一、概述
在數(shù)據(jù)庫中,日志存儲是數(shù)據(jù)庫恢復(fù)和故障處理的基礎(chǔ)。在數(shù)據(jù)庫操作期間,將會生成各種類型的日志記錄。這些日志記錄是事務(wù)的執(zhí)行過程的記錄。它們可以用來還原數(shù)據(jù)庫的狀態(tài),對故障進行診斷,并保持數(shù)據(jù)完整性。在單節(jié)點數(shù)據(jù)庫中,日志主要存儲在disk上。但是,在數(shù)據(jù)庫集群中,這個問題要更復(fù)雜。這是因為,數(shù)據(jù)庫集群由多個數(shù)據(jù)庫節(jié)點組成,而日志的處理必須保持在節(jié)點之間同步。
二、日志存儲的作用
1. 恢復(fù)數(shù)據(jù)庫
在數(shù)據(jù)庫出現(xiàn)故障時,數(shù)據(jù)庫管理員需要使用備份數(shù)據(jù)來恢復(fù)數(shù)據(jù)庫。但是,備份數(shù)據(jù)只是數(shù)據(jù)庫的一個靜態(tài)圖像。日志則可以記錄更新數(shù)據(jù)庫時所做的每個操作,這包括在回滾和恢復(fù)操作期間所做的操作。因此,通過日志記錄,我們可以將數(shù)據(jù)庫狀態(tài)恢復(fù)到故障之前。
2. 故障診斷
在數(shù)據(jù)庫集群中,如果一個節(jié)點出現(xiàn)故障,管理員需要發(fā)現(xiàn)故障的根本原因。通過分析日志,管理員可以查明故障發(fā)生的時間、原因和持續(xù)時間。這非常重要,因為如果管理員能夠及時識別故障,就可以避免更多的災(zāi)難性影響。
3. 版本控制
日志的另一個作用是進行版本控制。這對于需要與許多參與者獲取數(shù)據(jù)的大型項目來說非常重要。版本控制可以跟蹤每個版本的更改,從而幫助團隊協(xié)作更高效。
三、日志存儲的位置
日志存儲分為本地和遠程存儲。本地存儲即為將日志文件存儲在服務(wù)器的磁盤上。遠程存儲則是將日志文件存儲在其他指定的位置,如遠程服務(wù)器或云存儲。
1. 本地存儲
本地存儲是將日志文件存儲在同一節(jié)點上的磁盤上。這樣做的好處是,所有的日志數(shù)據(jù)都存儲在本地磁盤上,這使得恢復(fù)操作可以更快或者操作可以離線完成。此外,本地存儲還可以更大化性能,通過對本地磁盤進行優(yōu)化,實現(xiàn)更高的輸入輸出性能。
2. 遠程存儲
遠程存儲是將日志文件存儲在另一個服務(wù)器或云存儲上。這種方法的好處是,即使節(jié)點之間發(fā)生故障,日志數(shù)據(jù)也不會丟失。此外,將日志存儲到云存儲或另一個服務(wù)器中,可以進一步減小本地硬盤的壓力,并且從故障中恢復(fù)所需的時間會更短。
當然,選擇哪種日志存儲方式,需要考慮諸多因素,如操作系統(tǒng)、網(wǎng)絡(luò)帶寬、存儲設(shè)備等。
四、
在數(shù)據(jù)庫集群中,日志文件的存儲位置是一個非常重要的問題。本地存儲和遠程存儲各有優(yōu)缺點。在決定使用哪種存儲方式之前,必須考慮到其對性能和可靠性的影響。對于一些操作不頻繁的情況下,使用本地存儲可以提高效率。而在安全性要求比較高、應(yīng)用復(fù)雜、數(shù)據(jù)量變化較大的情況下,使用遠程存儲則是更加普遍的選擇。
希望本文能夠幫助讀者更好地理解數(shù)據(jù)庫集群日志文件存儲的重要性和影響因素。數(shù)據(jù)存儲和保護是數(shù)據(jù)庫管理的重要一環(huán),不斷地和學(xué)習(xí)數(shù)據(jù)庫管理經(jīng)驗是解決問題的關(guān)鍵。
相關(guān)問題拓展閱讀:
- 如何在Windows系統(tǒng)中配置Mysql群集
如何在Windows系統(tǒng)中配置Mysql群集
MySQL 群集是一種技術(shù),該技術(shù)允許在無共享的系統(tǒng)中部署“內(nèi)存中”和“磁盤中”數(shù)據(jù)庫的 Cluster 。通過無共享體系結(jié)構(gòu),系統(tǒng)能夠使用廉價的硬件,而且對軟硬件無特殊要求。此外,由于每個組件有自己的內(nèi)存和磁盤,不存在單點故障。MySQL Cluster 由一組計算機構(gòu)成,每臺計算機上均運行著多種進程,包括 MySQL 服務(wù)器,NDB Cluster 的數(shù)據(jù)節(jié)點,管理服務(wù)器,以及(可能存在的)專門的數(shù)據(jù)訪問程序。
管理服務(wù)器(MGM節(jié)點)負責管理 Cluster 配置文件和 Cluster 日志。Cluster 中的每個節(jié)點從管理服務(wù)器檢索配置數(shù)據(jù)。當數(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é)點進行重啟、關(guān)閉、啟動等操作。也能夠監(jiān)視全部節(jié)點的工作狀態(tài)。
數(shù)據(jù)節(jié)點:主要是對數(shù)據(jù)的存儲,不提供其他的服務(wù)。
SQL節(jié)點:主要是對外提供SQL功能,類似一臺普通的 MySQL Server。
而SQL節(jié)點和數(shù)據(jù)節(jié)點可以是同一臺機器,也就是說這臺機器即是SQL節(jié)點也是數(shù)據(jù)節(jié)點。它們只是邏輯關(guān)系上的劃分,實際部署時,甚至所有的階段都可以位于同一臺物理機器上,只是配置較復(fù)雜些。
一、軟件下載機器操作環(huán)境
配置 MySQL 群集必需使用其群集版本,注意和 MySQL Server 版本的區(qū)別。本文以 Windows 平臺下的 MySQL 群集版本 MySQL Cluster 7.1.3 為例(截至2023年6月初的更高版本),這是 MySQL Server 5.1 系列版本之一,添加了群集的功能。下載地址為:
,選擇 mysql-cluster-gpl-noinstall-7.1.3-win32.zip 文件,這是一個 for Windows 32位版本的、免安裝的二進制版本。
根據(jù)自己的操作系統(tǒng)的位數(shù),也可以選擇 64 位版本的。還有一個 27.2M 的 Windows(x86, 32-bit) 版本,下載下來需要自己編譯,有經(jīng)驗的高級用戶可以選用。
本實驗在 2 臺安裝 Windows Server 2023(sp2) 的機器上進行。節(jié)點分配及 IP 配置如下:
之一臺機器,IP 為 10.0.0.201,作為管理節(jié)點(MGM),SQL節(jié)點1(SQL1),數(shù)據(jù)節(jié)點1(NDBD1)。
第二臺機器,IP 為 10.0.0.202,作為SQL節(jié)點2(SQL2),數(shù)據(jù)節(jié)點2(NDBD2)。
管理節(jié)點更好不要與數(shù)據(jù)節(jié)點部署在同一臺服務(wù)器上,否則可能會因為該數(shù)據(jù)節(jié)點服務(wù)器的當機,而導(dǎo)致管理節(jié)點服務(wù)器的問題,從而導(dǎo)致整個群集系統(tǒng)的崩潰。
二,配置管理節(jié)點:
在之一臺機器上,建文件夾 D:\mysql-cluster,在其下建立文件 config.ini,內(nèi)容如下:
NoOfReplicas=1
# Managment Server
hostname=10.0.0.201
# Storage Engines
hostname=10.0.0.201
datadir= D:\data
hostname=10.0.0.202
datadir= D:\data
# SQL Engines
hostname=10.0.0.201
hostname=10.0.0.202
Cluster 管理節(jié)點的默認端口是1186,數(shù)據(jù)節(jié)點的默認端口是 2202。從 MySQL 5.0.3開始,該限制已被放寬,Cluster 能夠根據(jù)空閑的端口自動地為數(shù)據(jù)節(jié)點分配端口。如果你的版本低于5.0.22,請注意這個細節(jié)。
Cluster 管理節(jié)點作為一個服務(wù)端(通過運行 db_mgmd.exe 程序讀取本配置文件來啟動),通過本機上的客戶端 ndb_mgm.exe 來連接和操作。
三、配置 MySQL 數(shù)據(jù)庫服務(wù)器:
在2臺機器上,分別依次操作。
解壓 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-all.ini)復(fù)制為 my.ini 文件。
建立 D:\tmp 文件夾。
四、配置SQL節(jié)點和數(shù)據(jù)節(jié)點:
在2臺機器上,分別依次操作。
建立文件夾 D:\data。
編輯 NySQL 配置文件 D:\mysql-cluster-gpl-noinstall-7.1.3-win32\my.ini,在 節(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 默認端口,或自動分配的別的可用端口。
(問題:SQL節(jié)點如何獲得數(shù)據(jù)節(jié)點的IP地址?是否通過連接管理節(jié)點,取得所有數(shù)據(jù)節(jié)點的IP地址的列表?)
這里的連接字符串的值在 MySQL 服務(wù)啟動時使用,用于連接到管理節(jié)點。
在末尾加語句:
#NDB集群節(jié)點
ndb-connectstring=10.0.0.201
注:好像以下形式也可:
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ù),將默認為 C:\mysql\mysql-cluster 文件夾。
屏幕顯示:
C:\>ndb_mgmd.exe -f d:\mysql-cluster.conf\config.ini –configdir=d:\mysql-cluster
:16:57 INFO — NDB Cluster Management Server. mysql-5.1.44 ndb-7.1.3
:16:57 INFO — Reading cluster configuration from ‘d:\mysql-cluster.conf\config.ini’
:16:57 INFO — Got initial configuration from ‘d:\mysql-cluster.conf\config.ini’, will try to set it when all ndb_mgmd(s) started
:16:57 INFO — Mgmt server state: nodeid 1 reserved for ip 10.0.0.201, m_reserved_nodes 1.
:16:57 INFO — Id: 1, Command port: *:1186
==INITIAL==
:16:57 INFO — Starting initial configuration change
:16:57 INFO — Configuration 1 commited
:16:57 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ù)器,進行數(shù)據(jù)的自動復(fù)制和同步,使各個數(shù)據(jù)節(jié)點的數(shù)據(jù)保持一致,并在某個數(shù)據(jù)節(jié)點意外關(guān)閉又恢復(fù)后,進行數(shù)據(jù)的恢復(fù)重建。
3,啟動SQL節(jié)點
有了 ndbcluster 語句,啟動 mysql 服務(wù),就啟動了SQL節(jié)點。應(yīng)在前2種節(jié)點啟動后,分別在2臺服務(wù)器上進行。
六、群集管理
在所有的數(shù)據(jù)節(jié)點和SQL節(jié)點未啟動之前,運行群集管理節(jié)點服務(wù)的客戶端 ndb_mgm.exe,只能獲得以下信息:
C:\>ndb_mgm.exe
— NDB Cluster — Management Client –
ndb_mgm> show
Cluster Configuration
———————
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)
1 node(s)
id=1 @10.0.0.201 (mysql-5.1.44 ndb-7.1.3)
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
———————
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)
1 node(s)
id=1 @10.0.0.201 (mysql-5.1.44 ndb-7.1.3)
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é)點。隨意、強行關(guān)閉群集系統(tǒng)(關(guān)機或關(guā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é)點進行數(shù)據(jù)庫操作,各數(shù)據(jù)節(jié)點可以自動進行數(shù)據(jù)同步。某一個數(shù)據(jù)節(jié)點關(guān)閉后,不影響SQL節(jié)點的使用。某些數(shù)據(jù)節(jié)點出錯后,可以進行恢復(fù)。需要注意的是,SQL節(jié)點建立數(shù)據(jù)庫時,必須選擇“ndbcluster”數(shù)據(jù)庫引擎。如果不選擇“ndbcluster”引擎,建立的數(shù)據(jù)庫將不會進入MySQL群集系統(tǒng)中,但是可以獨立使用。
另外,每個 NDB 表必須有一個主鍵。如果在創(chuàng)建表時未定義主鍵,NDB Cluster 存儲引擎將自動生成隱含的主鍵。該隱含的鍵也將占用空間,就像任何其他的表索引一樣。由于沒有足夠的內(nèi)存來容納這些自動創(chuàng)建的鍵,出現(xiàn)問題并不罕見。
上海藍盟網(wǎng)絡(luò)技術(shù)有限公司專業(yè)回答您:
MySQL 群集分為三種節(jié)點:管理節(jié)點,數(shù)據(jù)節(jié)點和SQL節(jié)點。
管理節(jié)點:主要用于管理各個節(jié)點,能夠通過命令對某個節(jié)點進行重啟、關(guān)閉、啟動等操作。也能夠監(jiān)視全部節(jié)點的工作狀態(tài)。
數(shù)據(jù)節(jié)點:主要是對數(shù)據(jù)的存儲,不提供其他的服務(wù)。
SQL節(jié)點:主要是對外提供SQL功能,類似一臺普通的 MySQL Server。
而SQL節(jié)點和數(shù)據(jù)節(jié)點可以是同一臺機器,也就是說這臺機器即是SQL節(jié)點也是數(shù)據(jù)節(jié)點。它們只是邏輯關(guān)系上的劃分,實際部署時,甚至所有的階段都可以位于同一臺物理機器上,只是配置較復(fù)雜些。
一、軟件下載機器操作環(huán)境
配置 MySQL 群集必需使用其群集版本,注意和 MySQL Server 版本的區(qū)別。本文以 Windows 平臺下的 MySQL 群集版本 MySQL Cluster 7.1.3 為例(截至2023年6月初的更高版本),這是 MySQL Server 5.1 系列版本之一,添加了群集的功能。下載地址為:
,選擇 mysql-cluster-gpl-noinstall-7.1.3-win32.zip 文件,這是一個 for Windows 32位版本的、免安裝的二進制版本。
根據(jù)自己的操作系統(tǒng)的位數(shù),也可以選擇 64 位版本的。還有一個 27.2M 的 Windows(x86, 32-bit) 版本,下載下來需要自己編譯,有經(jīng)驗的高級用戶可以選用。
本實驗在 2 臺安裝 Windows Server 2023(sp2) 的機器上進行。節(jié)點分配及 IP 配置如下:
之一臺機器,IP 為 10.0.0.201,作為管理節(jié)點(MGM),SQL節(jié)點1(SQL1),數(shù)據(jù)節(jié)點1(NDBD1)。
第二臺機器,IP 為 10.0.0.202,作為SQL節(jié)點2(SQL2),數(shù)據(jù)節(jié)點2(NDBD2)。
管理節(jié)點更好不要與數(shù)據(jù)節(jié)點部署在同一臺服務(wù)器上,否則可能會因為該數(shù)據(jù)節(jié)點服務(wù)器的當機,而導(dǎo)致管理節(jié)點服務(wù)器的問題,從而導(dǎo)致整個群集系統(tǒng)的崩潰。
二,配置管理節(jié)點:
在之一臺機器上,建文件夾 D:\mysql-cluster,在其下建立文件 config.ini,內(nèi)容如下:
NoOfReplicas=1
# Managment Server
hostname=10.0.0.201
# Storage Engines
hostname=10.0.0.201
datadir= D:\data
hostname=10.0.0.202
datadir= D:\data
# SQL Engines
hostname=10.0.0.201
hostname=10.0.0.202
Cluster 管理節(jié)點的默認端口是1186,數(shù)據(jù)節(jié)點的默認端口是 2202。從 MySQL 5.0.3開始,該限制已被放寬,Cluster 能夠根據(jù)空閑的端口自動地為數(shù)據(jù)節(jié)點分配端口。如果你的版本低于5.0.22,請注意這個細節(jié)。
Cluster 管理節(jié)點作為一個服務(wù)端(通過運行 db_mgmd.exe 程序讀取本配置文件來啟動),通過本機上的客戶端 ndb_mgm.exe 來連接和操作。
三、配置 MySQL 數(shù)據(jù)庫服務(wù)器:
在2臺機器上,分別依次操作。
解壓 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-all.ini)復(fù)制為 my.ini 文件。
建立 D:\tmp 文件夾。
四、配置SQL節(jié)點和數(shù)據(jù)節(jié)點:
在2臺機器上,分別依次操作。
建立文件夾 D:\data。
編輯 NySQL 配置文件 D:\mysql-cluster-gpl-noinstall-7.1.3-win32\my.ini,在 節(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 默認端口,或自動分配的別的可用端口。
(問題:SQL節(jié)點如何獲得數(shù)據(jù)節(jié)點的IP地址?是否通過連接管理節(jié)點,取得所有數(shù)據(jù)節(jié)點的IP地址的列表?)
這里的連接字符串的值在 MySQL 服務(wù)啟動時使用,用于連接到管理節(jié)點。
在末尾加語句:
#NDB集群節(jié)點
ndb-connectstring=10.0.0.201
注:好像以下形式也可:
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ù),將默認為 C:\mysql\mysql-cluster 文件夾。
屏幕顯示:
C:\>ndb_mgmd.exe -f d:\mysql-cluster.conf\config.ini –configdir=d:\mysql-cluster
:16:57 INFO — NDB Cluster Management Server. mysql-5.1.44 ndb-7.1.3
:16:57 INFO — Reading cluster configuration from ‘d:\mysql-cluster.conf\config.ini’
:16:57 INFO — Got initial configuration from ‘d:\mysql-cluster.conf\config.ini’, will try to set it when all ndb_mgmd(s) started
:16:57 INFO — Mgmt server state: nodeid 1 reserved for ip 10.0.0.201, m_reserved_nodes 1.
:16:57 INFO — Id: 1, Command port: *:1186
==INITIAL==
:16:57 INFO — Starting initial configuration change
:16:57 INFO — Configuration 1 commited
:16:57 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ù)器,進行數(shù)據(jù)的自動復(fù)制和同步,使各個數(shù)據(jù)節(jié)點的數(shù)據(jù)保持一致,并在某個數(shù)據(jù)節(jié)點意外關(guān)閉又恢復(fù)后,進行數(shù)據(jù)的恢復(fù)重建。
3,啟動SQL節(jié)點
有了 ndbcluster 語句,啟動 mysql 服務(wù),就啟動了SQL節(jié)點。應(yīng)在前2種節(jié)點啟動后,分別在2臺服務(wù)器上進行。
六、群集管理
在所有的數(shù)據(jù)節(jié)點和SQL節(jié)點未啟動之前,運行群集管理節(jié)點服務(wù)的客戶端 ndb_mgm.exe,只能獲得以下信息:
C:\>ndb_mgm.exe
— NDB Cluster — Management Client –
ndb_mgm> show
Cluster Configuration
———————
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)
1 node(s)
id=1 @10.0.0.201 (mysql-5.1.44 ndb-7.1.3)
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
———————
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)
1 node(s)
id=1 @10.0.0.201 (mysql-5.1.44 ndb-7.1.3)
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é)點。隨意、強行關(guān)閉群集系統(tǒng)(關(guān)機或關(guā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é)點進行數(shù)據(jù)庫操作,各數(shù)據(jù)節(jié)點可以自動進行數(shù)據(jù)同步。某一個數(shù)據(jù)節(jié)點關(guān)閉后,不影響SQL節(jié)點的使用。某些數(shù)據(jù)節(jié)點出錯后,可以進行恢復(fù)。需要注意的是,SQL節(jié)點建立數(shù)據(jù)庫時,必須選擇“ndbcluster”數(shù)據(jù)庫引擎。如果不選擇“ndbcluster”引擎,建立的數(shù)據(jù)庫將不會進入MySQL群集系統(tǒng)中,但是可以獨立使用。
另外,每個 NDB 表必須有一個主鍵。如果在創(chuàng)建表時未定義主鍵,NDB Cluster 存儲引擎將自動生成隱含的主鍵。該隱含的鍵也將占用空間,就像任何其他的表索引一樣。由于沒有足夠的內(nèi)存來容納這些自動創(chuàng)建的鍵,出現(xiàn)問題并不罕見。
具體的可以參考
www.linemore.net
你可以參考這邊文章,寫的非常詳細。
關(guān)于數(shù)據(jù)庫集群日志在哪里的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。
創(chuàng)新互聯(lián)成都網(wǎng)站建設(shè)公司提供專業(yè)的建站服務(wù),為您量身定制,歡迎來電(028-86922220)為您打造專屬于企業(yè)本身的網(wǎng)絡(luò)品牌形象。
成都創(chuàng)新互聯(lián)品牌官網(wǎng)提供專業(yè)的網(wǎng)站建設(shè)、設(shè)計、制作等服務(wù),是一家以網(wǎng)站建設(shè)為主要業(yè)務(wù)的公司,在網(wǎng)站建設(shè)、設(shè)計和制作領(lǐng)域具有豐富的經(jīng)驗。
分享文章:數(shù)據(jù)庫集群的日志該存儲在哪個位置?(數(shù)據(jù)庫集群日志在哪里)
網(wǎng)頁鏈接:http://m.fisionsoft.com.cn/article/dhhsccp.html


咨詢
建站咨詢
