国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務(wù)器之家:專(zhuān)注于服務(wù)器技術(shù)及軟件下載分享
分類(lèi)導(dǎo)航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|數(shù)據(jù)庫(kù)技術(shù)|

服務(wù)器之家 - 數(shù)據(jù)庫(kù) - Mysql - Windows Server 2003 下配置 MySQL 集群(Cluster)教程

Windows Server 2003 下配置 MySQL 集群(Cluster)教程

2020-05-11 16:08MYSQL教程網(wǎng) Mysql

這篇文章主要介紹了Windows Server 2003 下配置 MySQL 集群(Cluster)教程,本文先是講解了原理知識(shí),然后給出詳細(xì)配置步驟和操作方法,需要的朋友可以參考下

MySQL 群集是 MySQL 適合于分布式計(jì)算環(huán)境的高可用、高冗余版本。它采用了 NDB Cluster 存儲(chǔ)引擎,允許在 1 個(gè)群集中運(yùn)行多個(gè) MySQL 服務(wù)器。在 MySQL 5.0 及以上的二進(jìn)制版本中,以及與最新的 Linux 版本兼容的 RPM 包中提供了該存儲(chǔ)引擎。

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ù)雜些。

Windows Server 2003 下配置 MySQL 集群(Cluster)教程


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

配置 MySQL 群集必需使用其群集版本,注意和 MySQL Server 版本的區(qū)別。本文以 Windows 平臺(tái)下的 MySQL 群集版本 MySQL Cluster 7.1.3 為例(截至2010年6月初的最高版本),這是 MySQL Server 5.1 系列版本之一,添加了群集的功能。下載地址為:http://dev.mysql.com/downloads/cluster,選擇 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 2003(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)容如下:

復(fù)制代碼 代碼如下:


    [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é)點(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)行:

復(fù)制代碼 代碼如下:

    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-small.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,在 [mysqld] 節(jié)末尾加語(yǔ)句:

復(fù)制代碼 代碼如下:

    #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ǔ)句:

復(fù)制代碼 代碼如下:

    #NDB集群節(jié)點(diǎn)
    [mysql_cluster]
    ndb-connectstring=10.0.0.201


    注:好像以下形式也可:

復(fù)制代碼 代碼如下:

    [ndbd]
    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)行命令:

復(fù)制代碼 代碼如下:

    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 文件夾。

 

    屏幕顯示:

復(fù)制代碼 代碼如下:

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

 

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

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

復(fù)制代碼 代碼如下:

    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,只能獲得以下信息:

復(fù)制代碼 代碼如下:


    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>


    說(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)之后,將獲得以下信息:

復(fù)制代碼 代碼如下:


    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命令:

復(fù)制代碼 代碼如下:

    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ù):

復(fù)制代碼 代碼如下:


    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)。

    測(cè)試實(shí)例:

    在某臺(tái) SQL 節(jié)點(diǎn)上登錄 mysql,建表 city,并插入數(shù)據(jù):

復(fù)制代碼 代碼如下:

    C:\>mysql -u root test
    mysql>create table city (nId mediumint unsigned not null auto_increment primary key, sName varchar(20) not null)
          engine = ndbcluster default charset utf8;
    mysql>insert city values(1, ‘city-1′);
    mysql>insert city values(1, ‘city-2′);


    在另一臺(tái) SQL 節(jié)點(diǎn)上登錄 mysql,從表 city 里得到記錄:
    C:\>mysql -u root test
    mysql>select * from city;

 

    在群集系統(tǒng)正常工作的情況下,應(yīng)當(dāng)能取到先前插入的所有記錄。

    另外的測(cè)試(單點(diǎn)故障測(cè)試):

    1,還可以人為停止某一個(gè)數(shù)據(jù)節(jié)點(diǎn)(Ctrl+C中斷DOS命令ndbd.exe,停止該服務(wù)),看看所有的 SQL 節(jié)點(diǎn)是不是能正常工作。
    2,在某一個(gè)數(shù)據(jù)節(jié)點(diǎn)停止后,進(jìn)行數(shù)據(jù)庫(kù)操作。然后重新開(kāi)啟該數(shù)據(jù)節(jié)點(diǎn),看看群集中的所有的 SQL 節(jié)點(diǎn)能不能得到完整的數(shù)據(jù)。

八、常見(jiàn)問(wèn)題與擴(kuò)展

    配置和管理 MySQL 群集系統(tǒng)并不是一件簡(jiǎn)單的事情。由于不合理的配置導(dǎo)致的系統(tǒng)問(wèn)題非常常見(jiàn),比如網(wǎng)絡(luò)故障、內(nèi)存限制等,會(huì)導(dǎo)致仲裁體統(tǒng)強(qiáng)制關(guān)閉數(shù)據(jù)節(jié)點(diǎn)。

    如果機(jī)器上原來(lái)已經(jīng)安裝過(guò) MySQL Server,則一定要卸載干凈原來(lái)的數(shù)據(jù)庫(kù)系統(tǒng)。注意群集系統(tǒng)中的 mysql.exe 程序與非群集系統(tǒng)的管理 Client 是不同的。

    還可以與負(fù)載均衡系統(tǒng)結(jié)合,以提供更強(qiáng)的可用性和數(shù)據(jù)存取效率。

    可能由于未知的Bug或別的原因,導(dǎo)致群集系統(tǒng)出現(xiàn)一些意外故障。所以建議選取版本時(shí),選擇已經(jīng)得到大多數(shù)人認(rèn)可的版本,不一定選取最新的版本,最新的版本往往不太穩(wěn)定。當(dāng)然也不要選用太陳舊的功能有限制的版本。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 伊人久久婷婷色综合98网 | 亚洲一区久久 | 国产日韩一级片 | 国产一级一级国产 | 日韩欧美的一区二区 | 国产一区二区三区不卡在线观看 | 亚洲国产精品久久久久久6q | 国产免费一区 | 亚洲电影在线 | 国产一区二区三区久久 | 亚洲专区欧美 | 欧美成人精品一区二区男人看 | 国产色 | av免费一区二区 | 99精品久久 | 亚洲欧美在线视频 | 国产精品免费精品自在线观看 | 九九精品视频在线观看 | 国产一区二区三区在线免费观看 | 欧美午夜精品久久久久久人妖 | av基地网| 免费一级网站 | 青青草中文字幕 | 欧美在线小视频 | 欧洲黄色 级黄色99片 | 国产精品欧美一区二区 | 高清一区在线观看 | 国内精品视频 | 91免费在线视频 | 亚洲区视频在线观看 | 国产精品视频一二三区 | 午夜爽爽爽 | 精品综合 | 精品无码久久久久国产 | 日韩成人小视频 | 在线播放一区二区三区 | 一区二区不卡视频 | 不卡一区二区三区视频 | 亚洲综合在线视频 | 国产综合中文字幕 | 99综合 |