mysqlクラスターの構築

王林
リリース: 2023-05-20 11:03:10
オリジナル
8391 人が閲覧しました

MySQL は最も人気のあるリレーショナル データベース管理システムの 1 つですが、単一の MySQL サーバーにはパフォーマンスのボトルネックと信頼性の問題があります。高負荷と高信頼性の要件を満たすために、MySQL クラスターを使用してこれらの問題を解決できます。

MySQL Cluster は、複数の MySQL Server インスタンスが物理デバイスまたは仮想デバイス上で連携して動作し、負荷を共有して可用性を向上させることで高いパフォーマンスと信頼性を提供する方法です。この記事では、MySQL クラスターの構築方法を紹介します。

1. MySQL クラスターのコンポーネント

MySQL クラスターは主に次のコンポーネントで構成されます:

  1. MySQL サーバー: クラスター内の MySQL サーバーはさまざまなバージョンにすることができます。そして構成。各 MySQL Server インスタンスは、異なる物理デバイスまたは仮想デバイス上で実行されます。
  2. MySQL Cluster Manager (MCM): MySQL クラスター内の MySQL Server インスタンスを管理するためのツールセット MCM を利用すると、MySQL クラスターを簡単に構成、デプロイ、監視、管理できます。
  3. データ ノード: 各データ ノードは、データの保存とクエリの実行に使用される MySQL Server インスタンスです。 MySQL Cluster は NDB ストレージ エンジンを使用してメモリとディスク データを処理します。
  4. 管理ノード: 管理ノードは、管理タスクを実行し、MySQL Cluster 構成を制御するノードです。各 MySQL Cluster には少なくとも 1 つの管理ノードが必要です。
  5. SQL ノード: SQL ノードは、MySQL Cluster と対話するために使用されるクライアントです。 MySQL Cluster には既製の SQL ノードが用意されていないため、MySQL Server インスタンスを SQL ノードとして使用する必要があります。

2. MySQL Cluster の構築

始める前に、MySQL Server がインストールおよび設定されており、複数のコンピューター ノードの準備ができていることを確認してください。わかりやすくするために、次の例では、MySQL クラスターは 3 つの MySQL サーバー ノードと 2 つの管理ノードで構成されます。各ノードには MySQL Server 8.0.25 がインストールされており、CentOS 8 オペレーティング システムを使用しています。

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

MySQL Cluster Manager (MCM) は MySQL クラスターの構成と管理の重要な部分であるため、最初に各ノードに MCM をインストールする必要があります。 MCM は MySQL 公式 Web サイトからダウンロードできます。

ダウンロード後、次のコマンドを実行してインストールします:

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

このコマンドは、必要なすべてのファイルとディレクトリを $datadir/mysql-cluster フォルダーに作成しながら、新しい MySQL Server インスタンスを作成します。

このコマンドはすべてのデータ ノードで実行する必要があります。

  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 Cluster の実行

すべての準備が完了したので、MySQL Server インスタンスを 1 つずつ起動し、クラスターに接続できます。

最初に管理ノードを起動し、次に次のコマンドを実行してノードを 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 が正常に実行されているかどうかをテストします。この例では、1 つのノードで MySQL Server インスタンスを起動し、MySQL Cluster に接続できます:

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

mysql - u root

このコマンドは、MySQL Server インスタンスを起動し、MySQL クライアントを開きます。その後、さまざまな SQL クエリ操作を実行して、クラスターが適切に動作しているかどうかをテストできます。

3. 概要

これは、MySQL クラスターの構築に関する基本的なチュートリアルです。 MySQL Cluster はパフォーマンスと信頼性を向上させることができ、Web アプリケーションや電子商取引 Web サイトなど、高負荷を処理する必要があるアプリケーションでよく使用されます。 MCM ツールセットを使用すると、MySQL クラスターを簡単に構成、デプロイ、監視、管理できます。多くの企業にとって、MySQL クラスターのセットアップは必須です。

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

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