MySQL 5.7 クラスタ構成手順

MySQL 5.7 クラスタ構成手順

今回対象とするMySQLのバージョンは5.7です。まずはサーバーAとサーバーBにそれぞれMySQLをインストールします。yumでインストールするか、wgetでダウンロードして直接コンパイルしてインストールすることもできます。インストール方法は多数ありますが、確実に成功させる必要があります。

1. サーバーAのmy.cnfファイルを変更する

vim /etc/my.cnf

次の内容を追加します。

サーバーID=1
自動増分オフセット=1
自動増分_増分=2
gtid_mode=オン
強制GTID一貫性=オン
ログ bin = mysql bin

2. サーバーBのmy.cnfファイルを変更する

vim /etc/my.cnf

次の内容を追加します。

サーバーID=2
自動増分オフセット=1
自動増分_増分=2
gtid_mode=オン
強制GTID一貫性=オン
ログ bin = mysql bin

3. MySQLサーバーAにサーバーBからのアクセス用にレプリケーションユーザーを作成する

'password' で識別されるユーザー B@'IP' を作成します。
*.* 上のレプリケーションスレーブを B@'server IP' に付与します。

4. サーバーBのMySQLでサーバーAからのアクセス用のレプリケーションユーザーを作成する

'password' で識別されるユーザー A@'IP' を作成します。
*.* のレプリケーションスレーブを A@'password' に付与します。

5. サーバーBのMySQLでマスタースレーブ構成を実行し、Aをマスター、Bをスレーブにします。

マスターを、master_host='IP'、master_user='B'、master_password='?Tp&clsr38i'、master_port=3306、master_auto_position=1 に変更します。

スレーブを起動します。

スレーブステータスを表示します。

6. サーバーAのMySQLでマスタースレーブ構成を実行し、Bをマスター、Aをスレーブにします。

マスターを、master_host='IP'、master_user='A'、master_password='?Tp&clsr38i'、master_port=3306、master_auto_position=1 に変更します。

スレーブを起動します。

スレーブステータスを表示します。

次に、テストを行い、サーバー A の MySQL に新しいデータベースと対応するデータ テーブルを作成します。サーバー B の MySQL は同期され、データベースとデータ テーブルの一貫性が確保されます。

7. Nginxの設定

Nginx は、マイクロサービス アプリケーションが同じ URL に接続するように、MySQL クラスターのアクセス URL を構成します。
Nginx での MySQL 構成は次のとおりです。

ストリーム {
  アップストリームmysql_proxy{
    ハッシュ $remote_addr は一貫しています。
    サーバーA サーバー IP:3306 weight=1 max_fails=3 fail_timeout=10s;
	  サーバーB サーバーIP:3306 weight=1 max_fails=3 fail_timeout=10s;
  }
  サーバー{
    listen 3306; # データベースサーバーのリスニングポート proxy_connect_timeout 10s;
    proxy_timeout 300秒; 
    プロキシパスmysql_proxy;
  }
}

特記事項:

実稼働環境では、MySQL ポートを 3306 または 3389 に設定することはお勧めしません。

上記は、MySQL 5.7 クラスタを構成する手順の詳細です。MySQL クラスタ構成の詳細については、123WORDPRESS.COM の他の関連記事に注意してください。

以下もご興味があるかもしれません:
  • MySQL PXC クラスターの構築方法
  • MySQL 高可用性クラスタの展開とフェイルオーバーの実装
  • MySQLクラスタのDockerデプロイメントの実装
  • クラスタrpmを使用してMySQLをインストールするための詳細な手順
  • MySQL クラスタの詳細な説明: 1 つのマスターと複数のスレーブのアーキテクチャ実装
  • Docker を使用して MySQL 5.7 および 8.0 マスター スレーブ クラスターをデプロイする方法
  • MySQLのクラスタモードでのgalera-clusterのデプロイメントの詳細説明
  • Docker で MySQL クラスターを構築する方法の例
  • MySQL Cluster 基本導入チュートリアル
  • MySQLの高可用性と高パフォーマンスのクラスタを構築する方法

<<:  XHTML+CSS Web ページ作成における美しいスタイルシートの適用

>>:  CSS で高さが不明な垂直中央揃えを実装する

推薦する

HTMLからReactを実装する方法を教えます

ReactとはReact は、効率的で高速なユーザー インターフェイスを構築するためのシンプルな J...

Zabbix 監視ソリューション - 最新の公式バージョン 4.4 [推奨]

ザビックス2019/10/12 チェンシン参照するhttps://www.zabbix.com/do...

js で虫眼鏡効果を実現するためのアイデアとコード

この記事の例では、虫眼鏡効果を実現するためのjsの具体的なコードを参考までに共有しています。具体的な...

MySQL count(1)、count(*)、count(field)の違い

目次1. COUNTの初見2. COUNT(フィールド)、COUNT(定数)、COUNT(*)の違い...

insert と select を組み合わせて、「データベース内のフィールドの最大値 + 1 を挿入する」メソッドを実装する

この記事はmysqlデータベースです質問 1 表 1 のデータを表 2 にインポートします。表 1 ...

Hbase 入門

1. HBaseの概要1.1 HBaseとはHBase は、高い信頼性、高いパフォーマンス、列ストレ...

Linux での VMWare15.5 のインストールに関するチュートリアル

Linux に VMWare をインストールするには、公式 Web サイト https://www....

トップナビゲーションバーメニューを作成するためのHTML+CSS

ナビゲーションバーの作成:技術要件: CS HTMLタグ達成目的:ナビゲーションバーメニューの作成コ...

nginx ロードバランシングを介して https にリダイレクトする方法

ウェブ上で証明書とキーをコピーするscp -rp -P52113 /application/ngin...

js でシンプルなタブを実装する

タブ選択カードは、実際の Web ページで非常に頻繁に使用されます。基本的に、すべての Web ペー...

ツールベースのウェブサイトの考察: ツールベースのウェブサイトの定義と典型的なケース分析 (写真とテキスト)

ツール型ウェブサイトについて、まず疑問に思うのは、無数のオンラインウェブサイトの中で、どのようなウェ...

Vueでaxiosをカプセル化する方法

目次1. インストール1. はじめに3. インターフェースルートアドレス4. 使用例4.1 ダウンロ...

CSSの4種類の配置の違いの詳細な説明

フロントエンド開発でよく使われるCSSの配置方法は、位置決めには、通常位置決め、相対位置決め、絶対位...

MySQL InnoDB の重要なコンポーネントの概要

Innodbには以下のコンポーネントが含まれています1. innodb_buffer_pool:これ...

MYSQL の 10 の典型的な最適化ケースとシナリオ

目次1. SQL最適化の一般的な手順1. SQL実行計画の分析を説明する2. プロフィール分析を表示...