欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

怎么搭建mysql集群 如何搭建mysql

組建mysql集群的幾種方案

但似乎很多人推薦這個) DRBD+Heartbeat+MySQL(有一臺機器空余?Heartbeat切換時間較長?有腦裂問題?) MySQL Proxy(不夠成熟與穩(wěn)定?使用了Lua?是不是用了他做分表則可以不用更改客戶端邏輯?) MySQL Cluster (社區(qū)版不支持INNODB引擎?商用案例不足?穩(wěn)定性欠佳?或者還有其他問題?又或者聽說現在發(fā)展不錯?) MySQL + MHA (如果配上異步復制,似乎是不錯的選擇,又和問題?) MySQL + MMM (似乎反映有很多問題,未實踐過,誰能給個說法) 淘寶的Cola(似乎現在停止開發(fā)了?)?變形蟲Amoeba(事務支持?) 或者,其他方案? 不管哪種方案都是有其場景限制 或說 規(guī)模限制,以及優(yōu)缺點的。 1. 首先反對大家做讀寫分離,關于這方面的原因解釋太多次數(增加技術復雜度、可能導致讀到落后的數據等),只說一點:99.8%的業(yè)務場景沒有必要做讀寫分離,只要做好數據庫設計優(yōu)化 和配置合適正確的主機即可。 2.Keepalived+MySQL --確實有腦裂的問題,還無法做到準確判斷mysqld是否HANG的情況; 3.DRBD+Heartbeat+MySQL --同樣有腦裂的問題,還無法做到準確判斷mysqld是否HANG的情況,且DRDB是不需要的,增加反而會出問題; 3.MySQL Proxy -- 不錯的項目,可惜官方半途夭折了,不建議用,無法高可用,是一個寫分離; 4.MySQL Cluster -- 社區(qū)版本不支持NDB是錯誤的言論,商用案例確實不多,主要是跟其業(yè)務場景要求有關系、這幾年發(fā)展有點亂不過現在已經上正規(guī)了、對網絡要求高; 5.MySQL + MHA -- 可以解決腦裂的問題,需要的IP多,小集群是可以的,但是管理大的就麻煩,其次MySQL + MMM 的話且坑很多,有MHA就沒必要采用MMM建議: 1.若是雙主復制的模式,不用做數據拆分,那么就可以選擇MHA或 Keepalive 或 heartbeat 2.若是雙主復制,還做了數據的拆分,則可以考慮采用Cobar;

創(chuàng)新互聯專業(yè)做網站、網站制作,集網站策劃、網站設計、網站制作于一體,網站seo、網站優(yōu)化、網站營銷、軟文平臺等專業(yè)人才根據搜索規(guī)律編程設計,讓網站在運行后,在搜索中有好的表現,專業(yè)設計制作為您帶來效益的網站!讓網站建設為您創(chuàng)造效益。

容器化 | 在 KubeSphere 中部署 MySQL 集群

本文將演示如何在 KubeSphere[1] 上部署 RadonDB MySQL on Kubernetes 2.1.2 ,快速實現高可用的 MySQL on K8s。

若已在 KubeSphere 部署過歷史版本 Operator,可以選擇如下方式更新到最新版本。

可任選一個 RadonDB MySQL 配置示例[5] 部署,或自定義配置部署。

以 mysql_v1alpha1_mysqlcluster.yaml 模版為例,創(chuàng)建一個 RadonDB MySQL 集群。

注意

未指定項目時,集群將被默認安裝在 kubesphere-controls-system 項目中。若需指定項目,安裝命令需添加 --namespace=project_name 。

預期結果

預期結果

在 demo-project 項目中,查看 RadonDB MySQL 集群狀態(tài)。

至此,完成在 KubeSphere 中部署 RadonDB MySQL 集群。

[1]:KubeSphere:

[2]:OpenPitrix:

[3]:創(chuàng)建操作:

[4]:項目網關:

[5]:配置示例:

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

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

管理服務器(MGM節(jié)點)負責管理 Cluster 配置文件和 Cluster 日志。Cluster 中的每個節(jié)點從管理服務器檢索配置數據。當數據節(jié)點內出現新的事件時,節(jié)點將關于這類事件的信息傳輸到管理服務器,然后,將這類信息寫入 Cluster 日志。

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

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

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

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

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

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

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

一、軟件下載機器操作環(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位版本的、免安裝的二進制版本。

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

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

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

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

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

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

在第一臺機器上,建文件夾 D:\mysql-cluster,在其下建立文件 config.ini,內容如下:

[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é)點的默認端口是1186,數據節(jié)點的默認端口是 2202。從 MySQL 5.0.3開始,該限制已被放寬,Cluster 能夠根據空閑的端口自動地為數據節(jié)點分配端口。如果你的版本低于5.0.22,請注意這個細節(jié)。

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

三、配置 MySQL 數據庫服務器:

在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 服務運行:

mysqld.exe -install mysql

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

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

建立 D:\tmp 文件夾。

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

在2臺機器上,分別依次操作。

建立文件夾 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 服務將作為群集的 SQL 節(jié)點啟動。mysqld.exe 命令帶參數 –ndbcluster 運行是一樣的效果。

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

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

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

在末尾加語句:

#NDB集群節(jié)點

[mysql_cluster]

ndb-connectstring=10.0.0.201

注:好像以下形式也可:

[ndbd]

ndb-connectstring=10.0.0.201

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

五,啟動群集各服務器

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

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

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

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

注:如果不帶 –configdir=d:\mysql-cluster 參數,將默認為 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,啟動數據節(jié)點

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

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

ndbd.exe –initial

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

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

3,啟動SQL節(jié)點

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

六、群集管理

在所有的數據節(jié)點和SQL節(jié)點未啟動之前,運行群集管理節(jié)點服務的客戶端 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

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

在所有的數據節(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

關閉群集的DOS命令:

ndb_mgm -e shutdown

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

以上命令或關閉管理節(jié)點服務和所有的數據節(jié)點。隨意、強行關閉群集系統(tǒng)(關機或關閉進程),會導致數據沒有全部寫回磁盤而導致的數據丟失。

關閉SQL節(jié)點的 mysqld 服務:

C:\net stop mysql,或:

C:\mysqladmin -u root shutdown

七、測試

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

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

如何構建mysql數據庫集群

當提到大數據,高并發(fā)。大家都會想到分布式,集群。

那么兩者都是用來處理大批量數據操作的,其工作原理是有很大區(qū)別的,分布式會縮短單個任務的執(zhí)行時間來提升工作效率,而集群強調的是提高單位時間內執(zhí)行操作數的增加來提高效率。

更簡單的來說,分布式是將步驟分到每臺電腦上,不考慮依賴關系。

集群方案是指幾個任務同時在處理。

名稱欄目:怎么搭建mysql集群 如何搭建mysql
文章出自:http://chinadenli.net/article40/ddgdjho.html

成都網站建設公司_創(chuàng)新互聯,為您提供網站導航、建站公司、響應式網站網站制作、云服務器

廣告

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

成都seo排名網站優(yōu)化