mysql集群的搭建

王林
發布: 2023-05-20 11:03:10
原創
8391 人瀏覽過

MySQL是最受歡迎的關聯式資料庫管理系統之一,但單一MySQL伺服器存在效能瓶頸和可靠性問題。為了滿足高負載和高可靠性的要求,可以使用MySQL叢集解決這些問題。

MySQL叢集是多個MySQL Server執行個體在實體或虛擬設備上一起工作並運行的方式,透過分攤負載和提高可用性,提供了高效能和可靠性。本文將介紹如何建構MySQL叢集。

一、MySQL叢集元件

MySQL叢集主要由下列元件組成:

  1. MySQL Server:叢集中的MySQL伺服器可以是不同的版本和設定。每個MySQL Server執行個體都運行在不同的實體或虛擬設備上。
  2. MySQL Cluster Manager (MCM):一個工具集,用於管理MySQL叢集中的MySQL Server實例,在MCM的幫助下,可以方便地設定、部署、監控和管理MySQL叢集。
  3. Data Nodes:每個資料節點都是一個MySQL Server實例,用來儲存資料和執行查詢。 MySQL Cluster使用NDB儲存引擎來處理記憶體和磁碟資料。
  4. Management Nodes:管理節點是執行管理任務和控制MySQL Cluster配置的節點。每個MySQL Cluster至少需要一個管理節點。
  5. SQL Nodes:SQL節點是用來與MySQL Cluster互動的客戶端。 MySQL Cluster並沒有提供現成的SQL節點,需要使用MySQL Server執行個體作為SQL節點。

二、MySQL叢集的建置

在開始之前,請確保已安裝並設定好MySQL Server,並準備好多個電腦節點。為了簡單起見,在以下範例中,將配置一個MySQL集群,其中包括3個MySQL Server節點和2個管理節點。每個節點都安裝了MySQL Server 8.0.25並使用CentOS 8作業系統。

  1. 安裝MySQL Cluster Manager

由於MySQL Cluster Manager(MCM)是設定和管理MySQL叢集的關鍵部分,需要先在每個節點上安裝MCM。 MCM可以從MySQL官方網站下載。

下載後,執行以下指令進行安裝:

sudo rpm -ivh mysql-cluster-manager-1.4.10-linux-glibc2.12-x86_64.rpm

  1. 配置MySQL Cluster Manager

安裝MCM後,需要進行初始化設定。在其中一個節點上進行,此節點將成為管理節點。

執行下列指令初始化MCM:

sudo /opt/mysql/mcm/bin/setup --config-file=/etc/mysql/mcm.ini --yes

此指令將建立/etc/mysql/mcm.ini文件,並根據預設設定將MCM初始化為單機模式。如果需要在叢集中使用多個節點,可以在該檔案中新增更多節點。

  1. 設定資料節點

首先,需要在所有節點上安裝mysql-community-server,然後停止mysqld服務。

接下來,建立一個新的MySQL Server範例,以便將其用作資料節點。可以從已經存在的mysqld安裝建立這個新實例。在此範例中,可以使用8.0.25為版本,使用下列指令建立新的MySQL Server實例:

sudo /usr/sbin/mysqld --defaults-file=/etc/my_node1.cnf -- initialize-insecure --ignore-builtin-innodb

此指令將建立一個新的MySQL Server實例,同時在$datadir/mysql-cluster資料夾中建立所有必要的檔案和目錄。

在所有資料節點上都需要執行此指令。

  1. 設定管理節點

與資料節點類似,需要為管理節點設定一個新的MySQL Server實例,以便將其用作管理節點。執行下列指令建立新的MySQL Server實例:

sudo /usr/sbin/mysqld --defaults-file=/etc/my_mgmt1.cnf --initialize-insecure --ignore-builtin-innodb

此指令將建立一個新的MySQL Server實例,同時在$datadir/mysql-cluster資料夾中建立所有必要的檔案和目錄。

在所有管理節點上都需要執行此指令。

  1. 執行MySQL叢集

現在所有準備工作都已完成,可以一個一個啟動MySQL Server實例,並連接到叢集。

先啟動管理節點,然後執行下列指令將節點加入MySQL Cluster:

sudo ndb_mgmd -f /var/lib/mysql-cluster/config.ini --initial

該命令啟動ndb_mgmd進程,該進程將讀取配置文件,並作為管理節點將自己加入MySQL Cluster。最後,將列印出訊息,確認管理節點已成功啟動。

接下來,啟動所有資料節點。在每個節點上執行以下指令:

sudo ndbd

該指令啟動一個ndbd進程,連接到已啟動的管理節點,然後加入MySQL Cluster。在使用多個資料節點時,需要在每個節點上執行此命令。

最後,透過啟動一個MySQL Server實例作為SQL節點,測試MySQL Cluster是否正常運作。在此範例中,可以在一個節點上啟動MySQL Server實例,並連接到MySQL Cluster:

sudo mysqld_safe --defaults-file=/etc/my_sql1.cnf &

mysql - u root

此指令將啟動MySQL Server實例,並開啟MySQL客戶端。然後可以執行各種 SQL 查詢操作,測試叢集是否正常運作。

三、總結

這是一個建立MySQL叢集的基礎教學。 MySQL Cluster可以提高效能和可靠性,通常用於需要處理高負載的應用程序,如Web應用程式和電子商務網站。使用MCM工具集,可以輕鬆設定、部署、監控和管理MySQL叢集。對許多公司來說,建立 MySQL 叢集是一項必備工作。

以上是mysql集群的搭建的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板