日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢(xún)
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
數(shù)據(jù)庫(kù)集群的日志該存儲(chǔ)在哪個(gè)位置?(數(shù)據(jù)庫(kù)集群日志在哪里)

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

為喀左等地區(qū)用戶(hù)提供了全套網(wǎng)頁(yè)設(shè)計(jì)制作服務(wù),及喀左網(wǎng)站建設(shè)行業(yè)解決方案。主營(yíng)業(yè)務(wù)為成都做網(wǎng)站、成都網(wǎng)站設(shè)計(jì)、喀左網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專(zhuān)業(yè)、用心的態(tài)度為用戶(hù)提供真誠(chéng)的服務(wù)。我們深信只要達(dá)到每一位用戶(hù)的要求,就會(huì)得到認(rèn)可,從而選擇與我們長(zhǎng)期合作。這樣,我們也可以走得更遠(yuǎn)!

一、概述

在數(shù)據(jù)庫(kù)中,日志存儲(chǔ)是數(shù)據(jù)庫(kù)恢復(fù)和故障處理的基礎(chǔ)。在數(shù)據(jù)庫(kù)操作期間,將會(huì)生成各種類(lèi)型的日志記錄。這些日志記錄是事務(wù)的執(zhí)行過(guò)程的記錄。它們可以用來(lái)還原數(shù)據(jù)庫(kù)的狀態(tài),對(duì)故障進(jìn)行診斷,并保持?jǐn)?shù)據(jù)完整性。在單節(jié)點(diǎn)數(shù)據(jù)庫(kù)中,日志主要存儲(chǔ)在disk上。但是,在數(shù)據(jù)庫(kù)集群中,這個(gè)問(wèn)題要更復(fù)雜。這是因?yàn)?,?shù)據(jù)庫(kù)集群由多個(gè)數(shù)據(jù)庫(kù)節(jié)點(diǎn)組成,而日志的處理必須保持在節(jié)點(diǎn)之間同步。

二、日志存儲(chǔ)的作用

1. 恢復(fù)數(shù)據(jù)庫(kù)

在數(shù)據(jù)庫(kù)出現(xiàn)故障時(shí),數(shù)據(jù)庫(kù)管理員需要使用備份數(shù)據(jù)來(lái)恢復(fù)數(shù)據(jù)庫(kù)。但是,備份數(shù)據(jù)只是數(shù)據(jù)庫(kù)的一個(gè)靜態(tài)圖像。日志則可以記錄更新數(shù)據(jù)庫(kù)時(shí)所做的每個(gè)操作,這包括在回滾和恢復(fù)操作期間所做的操作。因此,通過(guò)日志記錄,我們可以將數(shù)據(jù)庫(kù)狀態(tài)恢復(fù)到故障之前。

2. 故障診斷

在數(shù)據(jù)庫(kù)集群中,如果一個(gè)節(jié)點(diǎn)出現(xiàn)故障,管理員需要發(fā)現(xiàn)故障的根本原因。通過(guò)分析日志,管理員可以查明故障發(fā)生的時(shí)間、原因和持續(xù)時(shí)間。這非常重要,因?yàn)槿绻芾韱T能夠及時(shí)識(shí)別故障,就可以避免更多的災(zāi)難性影響。

3. 版本控制

日志的另一個(gè)作用是進(jìn)行版本控制。這對(duì)于需要與許多參與者獲取數(shù)據(jù)的大型項(xiàng)目來(lái)說(shuō)非常重要。版本控制可以跟蹤每個(gè)版本的更改,從而幫助團(tuán)隊(duì)協(xié)作更高效。

三、日志存儲(chǔ)的位置

日志存儲(chǔ)分為本地和遠(yuǎn)程存儲(chǔ)。本地存儲(chǔ)即為將日志文件存儲(chǔ)在服務(wù)器的磁盤(pán)上。遠(yuǎn)程存儲(chǔ)則是將日志文件存儲(chǔ)在其他指定的位置,如遠(yuǎn)程服務(wù)器或云存儲(chǔ)。

1. 本地存儲(chǔ)

本地存儲(chǔ)是將日志文件存儲(chǔ)在同一節(jié)點(diǎn)上的磁盤(pán)上。這樣做的好處是,所有的日志數(shù)據(jù)都存儲(chǔ)在本地磁盤(pán)上,這使得恢復(fù)操作可以更快或者操作可以離線完成。此外,本地存儲(chǔ)還可以更大化性能,通過(guò)對(duì)本地磁盤(pán)進(jìn)行優(yōu)化,實(shí)現(xiàn)更高的輸入輸出性能。

2. 遠(yuǎn)程存儲(chǔ)

遠(yuǎn)程存儲(chǔ)是將日志文件存儲(chǔ)在另一個(gè)服務(wù)器或云存儲(chǔ)上。這種方法的好處是,即使節(jié)點(diǎn)之間發(fā)生故障,日志數(shù)據(jù)也不會(huì)丟失。此外,將日志存儲(chǔ)到云存儲(chǔ)或另一個(gè)服務(wù)器中,可以進(jìn)一步減小本地硬盤(pán)的壓力,并且從故障中恢復(fù)所需的時(shí)間會(huì)更短。

當(dāng)然,選擇哪種日志存儲(chǔ)方式,需要考慮諸多因素,如操作系統(tǒng)、網(wǎng)絡(luò)帶寬、存儲(chǔ)設(shè)備等。

四、

在數(shù)據(jù)庫(kù)集群中,日志文件的存儲(chǔ)位置是一個(gè)非常重要的問(wèn)題。本地存儲(chǔ)和遠(yuǎn)程存儲(chǔ)各有優(yōu)缺點(diǎn)。在決定使用哪種存儲(chǔ)方式之前,必須考慮到其對(duì)性能和可靠性的影響。對(duì)于一些操作不頻繁的情況下,使用本地存儲(chǔ)可以提高效率。而在安全性要求比較高、應(yīng)用復(fù)雜、數(shù)據(jù)量變化較大的情況下,使用遠(yuǎn)程存儲(chǔ)則是更加普遍的選擇。

希望本文能夠幫助讀者更好地理解數(shù)據(jù)庫(kù)集群日志文件存儲(chǔ)的重要性和影響因素。數(shù)據(jù)存儲(chǔ)和保護(hù)是數(shù)據(jù)庫(kù)管理的重要一環(huán),不斷地和學(xué)習(xí)數(shù)據(jù)庫(kù)管理經(jīng)驗(yàn)是解決問(wèn)題的關(guān)鍵。

相關(guān)問(wèn)題拓展閱讀:

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

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

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

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

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

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

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

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

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

SQL節(jié)點(diǎn):主要是對(duì)外提供SQL功能,類(lèi)似一臺(tái)普通的 MySQL Server。

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

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

配置 MySQL 群集必需使用其群集版本,注意和 MySQL Server 版本的區(qū)別。本文以 Windows 平臺(tái)下的 MySQL 群集版本 MySQL Cluster 7.1.3 為例(截至2023年6月初的更高版本),這是 MySQL Server 5.1 系列版本之一,添加了群集的功能。下載地址為:

,選擇 mysql-cluster-gpl-noinstall-7.1.3-win32.zip 文件,這是一個(gè) for Windows 32位版本的、免安裝的二進(jìn)制版本。

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

本實(shí)驗(yàn)在 2 臺(tái)安裝 Windows Server 2023(sp2) 的機(jī)器上進(jìn)行。節(jié)點(diǎn)分配及 IP 配置如下:

之一臺(tái)機(jī)器,IP 為 10.0.0.201,作為管理節(jié)點(diǎn)(MGM),SQL節(jié)點(diǎn)1(SQL1),數(shù)據(jù)節(jié)點(diǎn)1(NDBD1)。

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

管理節(jié)點(diǎn)更好不要與數(shù)據(jù)節(jié)點(diǎn)部署在同一臺(tái)服務(wù)器上,否則可能會(huì)因?yàn)樵摂?shù)據(jù)節(jié)點(diǎn)服務(wù)器的當(dāng)機(jī),而導(dǎo)致管理節(jié)點(diǎn)服務(wù)器的問(wèn)題,從而導(dǎo)致整個(gè)群集系統(tǒng)的崩潰。

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

在之一臺(tái)機(jī)器上,建文件夾 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é)點(diǎn)的默認(rèn)端口是1186,數(shù)據(jù)節(jié)點(diǎn)的默認(rèn)端口是 2202。從 MySQL 5.0.3開(kāi)始,該限制已被放寬,Cluster 能夠根據(jù)空閑的端口自動(dòng)地為數(shù)據(jù)節(jié)點(diǎn)分配端口。如果你的版本低于5.0.22,請(qǐng)注意這個(gè)細(xì)節(jié)。

Cluster 管理節(jié)點(diǎn)作為一個(gè)服務(wù)端(通過(guò)運(yùn)行 db_mgmd.exe 程序讀取本配置文件來(lái)啟動(dòng)),通過(guò)本機(jī)上的客戶(hù)端 ndb_mgm.exe 來(lái)連接和操作。

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

在2臺(tái)機(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 中。

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

mysqld.exe -install mysql

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

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

建立 D:\tmp 文件夾。

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

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

建立文件夾 D:\data。

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

#SQL群集節(jié)點(diǎn)

ndbcluster

ndb-connectstring=10.0.0.201

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

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

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

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

在末尾加語(yǔ)句:

#NDB集群節(jié)點(diǎn)

ndb-connectstring=10.0.0.201

注:好像以下形式也可:

ndb-connectstring=10.0.0.201

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

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

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

1,啟動(dòng)管理節(jié)點(diǎn)

在之一臺(tái)服務(wù)器的DOS窗口,運(yùn)行命令:

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

: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,啟動(dòng)數(shù)據(jù)節(jié)點(diǎn)

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

之一次,或初始化群集節(jié)點(diǎn)時(shí),運(yùn)行命令:

ndbd.exe –initial

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

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

3,啟動(dòng)SQL節(jié)點(diǎn)

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

六、群集管理

在所有的數(shù)據(jù)節(jié)點(diǎn)和SQL節(jié)點(diǎn)未啟動(dòng)之前,運(yùn)行群集管理節(jié)點(diǎn)服務(wù)的客戶(hù)端 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>

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

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

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é)點(diǎn)服務(wù)和所有的數(shù)據(jù)節(jié)點(diǎn)。隨意、強(qiáng)行關(guān)閉群集系統(tǒng)(關(guān)機(jī)或關(guān)閉進(jìn)程),會(huì)導(dǎo)致數(shù)據(jù)沒(méi)有全部寫(xiě)回磁盤(pán)而導(dǎo)致的數(shù)據(jù)丟失。

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

C:\>net stop mysql,或:

C:\>mysqladmin -u root shutdown

七、測(cè)試

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

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

上海藍(lán)盟網(wǎng)絡(luò)技術(shù)有限公司專(zhuān)業(yè)回答您:

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

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

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

SQL節(jié)點(diǎn):主要是對(duì)外提供SQL功能,類(lèi)似一臺(tái)普通的 MySQL Server。

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

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

配置 MySQL 群集必需使用其群集版本,注意和 MySQL Server 版本的區(qū)別。本文以 Windows 平臺(tái)下的 MySQL 群集版本 MySQL Cluster 7.1.3 為例(截至2023年6月初的更高版本),這是 MySQL Server 5.1 系列版本之一,添加了群集的功能。下載地址為:

,選擇 mysql-cluster-gpl-noinstall-7.1.3-win32.zip 文件,這是一個(gè) for Windows 32位版本的、免安裝的二進(jìn)制版本。

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

本實(shí)驗(yàn)在 2 臺(tái)安裝 Windows Server 2023(sp2) 的機(jī)器上進(jìn)行。節(jié)點(diǎn)分配及 IP 配置如下:

之一臺(tái)機(jī)器,IP 為 10.0.0.201,作為管理節(jié)點(diǎn)(MGM),SQL節(jié)點(diǎn)1(SQL1),數(shù)據(jù)節(jié)點(diǎn)1(NDBD1)。

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

管理節(jié)點(diǎn)更好不要與數(shù)據(jù)節(jié)點(diǎn)部署在同一臺(tái)服務(wù)器上,否則可能會(huì)因?yàn)樵摂?shù)據(jù)節(jié)點(diǎn)服務(wù)器的當(dāng)機(jī),而導(dǎo)致管理節(jié)點(diǎn)服務(wù)器的問(wèn)題,從而導(dǎo)致整個(gè)群集系統(tǒng)的崩潰。

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

在之一臺(tái)機(jī)器上,建文件夾 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é)點(diǎn)的默認(rèn)端口是1186,數(shù)據(jù)節(jié)點(diǎn)的默認(rèn)端口是 2202。從 MySQL 5.0.3開(kāi)始,該限制已被放寬,Cluster 能夠根據(jù)空閑的端口自動(dòng)地為數(shù)據(jù)節(jié)點(diǎn)分配端口。如果你的版本低于5.0.22,請(qǐng)注意這個(gè)細(xì)節(jié)。

Cluster 管理節(jié)點(diǎn)作為一個(gè)服務(wù)端(通過(guò)運(yùn)行 db_mgmd.exe 程序讀取本配置文件來(lái)啟動(dòng)),通過(guò)本機(jī)上的客戶(hù)端 ndb_mgm.exe 來(lái)連接和操作。

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

在2臺(tái)機(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 中。

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

mysqld.exe -install mysql

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

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

建立 D:\tmp 文件夾。

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

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

建立文件夾 D:\data。

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

#SQL群集節(jié)點(diǎn)

ndbcluster

ndb-connectstring=10.0.0.201

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

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

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

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

在末尾加語(yǔ)句:

#NDB集群節(jié)點(diǎn)

ndb-connectstring=10.0.0.201

注:好像以下形式也可:

ndb-connectstring=10.0.0.201

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

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

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

1,啟動(dòng)管理節(jié)點(diǎn)

在之一臺(tái)服務(wù)器的DOS窗口,運(yùn)行命令:

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

: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,啟動(dòng)數(shù)據(jù)節(jié)點(diǎn)

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

之一次,或初始化群集節(jié)點(diǎn)時(shí),運(yùn)行命令:

ndbd.exe –initial

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

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

3,啟動(dòng)SQL節(jié)點(diǎn)

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

六、群集管理

在所有的數(shù)據(jù)節(jié)點(diǎn)和SQL節(jié)點(diǎn)未啟動(dòng)之前,運(yùn)行群集管理節(jié)點(diǎn)服務(wù)的客戶(hù)端 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>

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

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

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é)點(diǎn)服務(wù)和所有的數(shù)據(jù)節(jié)點(diǎn)。隨意、強(qiáng)行關(guān)閉群集系統(tǒng)(關(guān)機(jī)或關(guān)閉進(jìn)程),會(huì)導(dǎo)致數(shù)據(jù)沒(méi)有全部寫(xiě)回磁盤(pán)而導(dǎo)致的數(shù)據(jù)丟失。

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

C:\>net stop mysql,或:

C:\>mysqladmin -u root shutdown

七、測(cè)試

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

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

具體的可以參考

www.linemore.net

你可以參考這邊文章,寫(xiě)的非常詳細(xì)。

關(guān)于數(shù)據(jù)庫(kù)集群日志在哪里的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。

創(chuàng)新互聯(lián)成都網(wǎng)站建設(shè)公司提供專(zhuān)業(yè)的建站服務(wù),為您量身定制,歡迎來(lái)電(028-86922220)為您打造專(zhuān)屬于企業(yè)本身的網(wǎng)絡(luò)品牌形象。
成都創(chuàng)新互聯(lián)品牌官網(wǎng)提供專(zhuān)業(yè)的網(wǎng)站建設(shè)、設(shè)計(jì)、制作等服務(wù),是一家以網(wǎng)站建設(shè)為主要業(yè)務(wù)的公司,在網(wǎng)站建設(shè)、設(shè)計(jì)和制作領(lǐng)域具有豐富的經(jīng)驗(yàn)。


網(wǎng)站標(biāo)題:數(shù)據(jù)庫(kù)集群的日志該存儲(chǔ)在哪個(gè)位置?(數(shù)據(jù)庫(kù)集群日志在哪里)
鏈接地址:http://m.5511xx.com/article/dhhsccp.html