MySQLクラスタ構築

王林
リリース: 2023-05-18 18:01:08
オリジナル
3562 人が閲覧しました

MySQL は、Web アプリケーションのデータ ストレージと管理によく使用される一般的なリレーショナル データベース管理システムです。データ量と同時アクセスが増加し続けると、単一の MySQL インスタンスのパフォーマンスがアプリケーションのニーズを満たせなくなる可能性があります。したがって、MySQL Cluster が一般的なソリューションになりました。この記事では、MySQL クラスターの構築方法を紹介します。

ステップ 1: 環境を準備する

MySQL クラスターの構築を開始する前に、いくつかの環境とツールを準備する必要があります:

1. 少なくとも 3 台のサーバー、そのうちの 1 台残りのサーバーは管理ノードとして MySQL ノードとして機能します。

2. サーバー間のネットワーク通信を確保します。

3. MySQL サーバーと MySQL クラスター ソフトウェアをインストールします。

この記事では、Ubuntu 18.04 LTS オペレーティング システムと MySQL Cluster バージョン 7.6.21 をデモンストレーションに使用します。

ステップ 2: 管理ノードを作成する

管理ノードは、MySQL ノードの作成と削除、クエリ リクエストのルーティングなど、MySQL クラスター全体の管理に使用されます。このノードには、MySQL Cluster Manager と MySQL Server の 2 つのソフトウェア パッケージをインストールする必要があります。

1. MySQL Cluster Manager のインストール

MySQL Cluster Manager は、MySQL クラスターを自動的に作成および構成するためのコマンド ライン ツールです。次のコマンドを使用してインストールします:

sudo apt-get update
sudo apt-get install mysql-cluster-manager

2. 管理サーバーに MySQL Server

をインストールします。ノード では、MySQL Cluster Manager が MySQL Cluster を管理できるように MySQL Server をインストールする必要があります。次のコマンドを使用してインストールします:

sudo apt-get install mysql-server

3. MySQL Cluster 構成の作成

管理ノードで、MySQL Cluster 構成ファイルを作成し、ノードアドレスとポート番号を指定します。この例では、管理ノードの IP アドレスが 192.168.1.100、ポート番号が 1186 であると仮定します。

mycluster.ini という名前のファイルを作成し、ノード アドレスとポート番号を指定します。

[NDB_MGMD DEFAULT]

管理サーバーがリッスンするポート

# PortNumber=1186

[NDB_MGMD]

管理サーバーノードのIPアドレス

HostName=192.168.1.100

[MYSQLD DEFAULT]

[ NDBD DEFAULT]

[NDBD]

最初の ndb ノードの IP アドレス

HostName=192.168.1.101

[NDBD]

2 番目の ndb ノードの IP アドレス

HostName=192.168.1.102

4. 管理ノードを起動します

次のコマンドを使用して管理ノードを起動します:

ndb_mgmd -f mycluster.ini --configdir=/var/lib/mysql-cluster

この時点で、MySQL Cluster Manager は MySQL クラスターを自動的に作成して構成します。次のコマンドを使用して、MySQL クラスターのステータスを確認できます。

ndb_mgm

show

ステップ 3: MySQL ノードを作成する

MySQL ノードは、実際にデータサーバーを保存および管理します。この例では、2 つの MySQL ノードを作成します。

1. MySQL Cluster ソフトウェアのインストール

MySQL Cluster ソフトウェアをインストールする前に、必要な依存関係とライブラリがサーバーにインストールされていることを確認してください。次のコマンドを使用してインストールできます:

sudo apt-get install libaio1 libmecab2

次に、MySQL Cluster バイナリ パッケージをダウンロードします:

wget https://dev.mysql .com/get /Downloads/MySQL-Cluster-7.6/mysql-cluster_7.6.21-1ubuntu18.04_amd64.deb-bundle.tar

ダウンロードしたパッケージを解凍します:

tar -xvf mysql- cluster_7.6.21- 1ubuntu18.04_amd64.deb-bundle.tar

解凍されたディレクトリを入力します:

cd mysql-cluster_7.6.21-1ubuntu18.04_amd64.deb-bundle

次のコマンドを実行して MySQL Cluster をインストールします:

sudo dpkg -i mysql-common_7.6.21-1ubuntu18.04_amd64.deb

sudo dpkg -i mysql-cluster-client_7.6.21-1ubuntu18.04_amd64.deb
sudo dpkg -i mysql-cluster-server_7.6.21-1ubuntu18.04_amd64.deb
sudo dpkg -i mysql-cluster-client-core_7.6.21-1ubuntu18.04_amd64.deb
sudo dpkg -i mysql-クラスターサーバーコア_7.6.21-1ubuntu18.04_amd64.deb
sudo dpkg -i mysql-cluster-community-client_7.6.21-1ubuntu18.04_amd64.deb
sudo dpkg -i mysql-cluster-community-server_7。 6.21-1ubuntu18. 04_amd64.deb

2. MySQL ノードの構成

MySQL ノードで、MySQL 構成ファイル my.cnf を変更し、それに対応する管理ノードとポート番号を指定する必要があります。ノード。

my.cnf ファイルを開きます:

sudo nano /etc/mysql/my.cnf

ファイルの最後に次の構成を追加します:

[mysqld ]

ndbcluster
ndb-connectstring=192.168.1.100

3. MySQL ノードの開始

次のコマンドを使用して MySQL ノードを開始します。

sudo systemctl start mysql

4. MySQL クラスターに参加する

MySQL ノードが開始されると、MySQL Cluster Manager が MySQL ノードを自動的に監視および管理します。次のコマンドを使用して、MySQL クラスターのステータスを確認できます:

ndb_mgm

show


この時点で、MySQL ノード上でデータベースを作成および管理できます。

ステップ 4: MySQL Cluster をテストする

MySQL Cluster が適切に動作していることを確認するには、MySQL ノードの 1 つにデータベースを作成し、そのテーブルとデータを他のノードに拡張します。次のコマンドを使用して testdb データベースを作成できます:

mysql -uroot -p

create database testdb;


次に、データベースのテーブルを作成します:

use testdb;

create table user(name VARCHAR(20), age INT);


最後に、ノードにデータを挿入します:

insert into user names('John', 18);

然後,使用另一個MySQL節點檢查該表是否存在:

use testdb;
select * from user;

如果您能正常檢索和讀取數據,則MySQL叢集已成功建置。

總結

MySQL叢集可以大幅提升應用程式的效能和可靠性。透過管理節點和多個MySQL節點的組合,可以實現資料的自動分佈和複製,提供高可用性和容錯能力。在上述步驟中,我們介紹如何建構MySQL集群,並進行了一些測試和驗證。根據具體應用場景的不同,可能需要進行更多的配置和最佳化。但是,這些步驟可以作為一個入門指南,幫助您開始學習並使用MySQL叢集。

以上がMySQLクラスタ構築の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート