今回対象とする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 を構成します。 ストリーム { アップストリーム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 の他の関連記事に注意してください。 以下もご興味があるかもしれません:
|
<<: XHTML+CSS Web ページ作成における美しいスタイルシートの適用
Linux 仮想マシン: VMware + Ubuntu 16.04.4 Windows ネイティブ...
以下はすべて仮想マシン上で実行されます1. pip3をインストールするsudo apt で pyth...
このプロジェクトでは MySQL を使用する必要があります。これまで Windows では常に確実に...
この記事では、カルーセルマップの特殊効果を実現するためのJavaScriptの具体的なコードを参考ま...
まず、Moments を開いて、写真の数が異なるいくつかのレイアウトを確認するか、以下の例を参照して...
目次1. プロセスとスレッドの概念2. プロセス管理とは何ですか? 3. プロセス管理の役割4. L...
序文最近のプロジェクトでは、大量のデータを保存する必要があり、このデータには有効期限があります。クエ...
質問アップロードするファイルのタイプを accept に追加することは、「表面的な」役割しか果たしま...
Dockerfile でのボリュームのマウントと docker -v コマンドによるマウントには明ら...
目次1. 前に書く2. ポップアップウィンドウを実装するためのオーバーレイ2.1 vueページのad...
1. ネイティブネットワークリクエスト1. XMLHttpRequest (W3C 標準) // 約...
最近、画像上に半透明の背景でテキストを表示する必要があるという要件に遭遇しました。その効果は次のよう...
現象の説明:プロジェクトでは、Springboot を使用して Web プロジェクトを開始します。起...
Mac で開発されたプロジェクトがあり、パッケージ npm i がインストールされており、すべて正常...
今日は、ネイティブ JS で実装された画像マーキー効果を紹介します。効果は次のとおりです。 実装され...