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

MySQLクラスタ構築

May 18, 2023 pm 06:01 PM

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 サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Alter Tableステートメントを使用してMySQLのテーブルをどのように変更しますか? Alter Tableステートメントを使用してMySQLのテーブルをどのように変更しますか? Mar 19, 2025 pm 03:51 PM

この記事では、MySQLのAlter Tableステートメントを使用して、列の追加/ドロップ、テーブル/列の名前の変更、列データ型の変更など、テーブルを変更することについて説明します。

INNODBフルテキスト検索機能を説明します。 INNODBフルテキスト検索機能を説明します。 Apr 02, 2025 pm 06:09 PM

INNODBのフルテキスト検索機能は非常に強力であり、データベースクエリの効率と大量のテキストデータを処理する能力を大幅に改善できます。 1)INNODBは、倒立インデックスを介してフルテキスト検索を実装し、基本的および高度な検索クエリをサポートします。 2)一致を使用してキーワードを使用して、ブールモードとフレーズ検索を検索、サポートします。 3)最適化方法には、単語セグメンテーションテクノロジーの使用、インデックスの定期的な再構築、およびパフォーマンスと精度を改善するためのキャッシュサイズの調整が含まれます。

MySQL接続用のSSL/TLS暗号化を構成するにはどうすればよいですか? MySQL接続用のSSL/TLS暗号化を構成するにはどうすればよいですか? Mar 18, 2025 pm 12:01 PM

記事では、証明書の生成と検証を含むMySQL用のSSL/TLS暗号化の構成について説明します。主な問題は、セルフ署名証明書のセキュリティへの影響を使用することです。[文字カウント:159]

人気のあるMySQL GUIツール(MySQL Workbench、PhpMyAdminなど)は何ですか? 人気のあるMySQL GUIツール(MySQL Workbench、PhpMyAdminなど)は何ですか? Mar 21, 2025 pm 06:28 PM

記事では、MySQLワークベンチやPHPMyAdminなどの人気のあるMySQL GUIツールについて説明し、初心者と上級ユーザーの機能と適合性を比較します。[159文字]

MySQLの大きなデータセットをどのように処理しますか? MySQLの大きなデータセットをどのように処理しますか? Mar 21, 2025 pm 12:15 PM

記事では、MySQLで大規模なデータセットを処理するための戦略について説明します。これには、パーティション化、シャード、インデックス作成、クエリ最適化などがあります。

ドロップテーブルステートメントを使用してMySQLにテーブルをドロップするにはどうすればよいですか? ドロップテーブルステートメントを使用してMySQLにテーブルをドロップするにはどうすればよいですか? Mar 19, 2025 pm 03:52 PM

この記事では、ドロップテーブルステートメントを使用してMySQLのドロップテーブルについて説明し、予防策とリスクを強調しています。これは、バックアップなしでアクションが不可逆的であることを強調し、回復方法と潜在的な生産環境の危険を詳述しています。

INNODBのクラスターインデックスと非クラスターインデックス(セカンダリインデックス)の違い。 INNODBのクラスターインデックスと非クラスターインデックス(セカンダリインデックス)の違い。 Apr 02, 2025 pm 06:25 PM

クラスター化されたインデックスと非クラスター化されたインデックスの違いは次のとおりです。1。クラスター化されたインデックスは、インデックス構造にデータを保存します。これは、プライマリキーと範囲でクエリするのに適しています。 2.非クラスター化されたインデックスストアは、インデックスキー値とデータの行へのポインターであり、非プリマリーキー列クエリに適しています。

さまざまなタイプのMySQLインデックス(Bツリー、ハッシュ、フルテキスト、空間)を説明します。 さまざまなタイプのMySQLインデックス(Bツリー、ハッシュ、フルテキスト、空間)を説明します。 Apr 02, 2025 pm 07:05 PM

MySQLは、Bツリー、ハッシュ、フルテキスト、および空間の4つのインデックスタイプをサポートしています。 1.B-Treeインデックスは、等しい値検索、範囲クエリ、ソートに適しています。 2。ハッシュインデックスは、等しい値検索に適していますが、範囲のクエリとソートをサポートしていません。 3.フルテキストインデックスは、フルテキスト検索に使用され、大量のテキストデータの処理に適しています。 4.空間インデックスは、地理空間データクエリに使用され、GISアプリケーションに適しています。

See all articles