MySQL は最も人気のあるリレーショナル データベース管理システムの 1 つですが、単一の MySQL サーバーにはパフォーマンスのボトルネックと信頼性の問題があります。高負荷と高信頼性の要件を満たすために、MySQL クラスターを使用してこれらの問題を解決できます。
MySQL Cluster は、複数の MySQL Server インスタンスが物理デバイスまたは仮想デバイス上で連携して動作し、負荷を共有して可用性を向上させることで高いパフォーマンスと信頼性を提供する方法です。この記事では、MySQL クラスターの構築方法を紹介します。
1. MySQL クラスターのコンポーネント
MySQL クラスターは主に次のコンポーネントで構成されます:
2. MySQL Cluster の構築
始める前に、MySQL Server がインストールおよび設定されており、複数のコンピューター ノードの準備ができていることを確認してください。わかりやすくするために、次の例では、MySQL クラスターは 3 つの MySQL サーバー ノードと 2 つの管理ノードで構成されます。各ノードには MySQL Server 8.0.25 がインストールされており、CentOS 8 オペレーティング システムを使用しています。
MySQL Cluster Manager (MCM) は MySQL クラスターの構成と管理の重要な部分であるため、最初に各ノードに MCM をインストールする必要があります。 MCM は MySQL 公式 Web サイトからダウンロードできます。
ダウンロード後、次のコマンドを実行してインストールします:
sudo rpm -ivh mysql-cluster-manager-1.4.10-linux-glibc2.12-x86_64.rpm
MCM をインストールした後、初期構成が必要です。いずれかのノードでこれを実行すると、このノードが管理ノードになります。
次のコマンドを実行して MCM を初期化します:
sudo /opt/mysql/mcm/bin/setup --config-file=/etc/mysql/mcm.ini --yes
このコマンドは、/etc/mysql/mcm.ini ファイルを作成し、デフォルト設定に従って MCM をスタンドアロン モードに初期化します。クラスター内で複数のノードを使用する必要がある場合は、このファイルにさらにノードを追加できます。
まず、すべてのノードに 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 インスタンスを作成します。
このコマンドはすべてのデータ ノードで実行する必要があります。
データ ノードと同様に、管理ノードを管理ノードとして使用するには、新しい MySQL Server インスタンスを管理ノード用に構成する必要があります。 。次のコマンドを実行して、新しい MySQL Server インスタンスを作成します:
sudo /usr/sbin/mysqld --defaults-file=/etc/my_mgmt1.cnf --initialize-insecure --ignore-builtin-innodb
このコマンドは、新しい MySQL Server インスタンスを作成し、必要なすべてのファイルとディレクトリを $datadir/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 サイトの他の関連記事を参照してください。