別マスターデータベース(マスタ/スレーブ)から上記設定Centos7.6 MySQLは、読み取りおよび書き込み

前回の記事では、並行性の高いシナリオの高負荷の下でngi​​nxの使用方法を説明し、バックグラウンドサービスの負荷分散を実行します。アリクラウドCentOSに上の設定nginxの+ uwsgi +負荷分散構成ではなく、そうするに一度、すべてのためのものであることとは思いません、データサービス層、データアクセス層に、または伝統的なデータ構造の場合、またはデータベースがダウンし、結果はさらに悲惨である場合には単に、単一のサーバの負荷に非常に多くのデータベース接続を頼って、データベースは、崩壊にバインドされています。Redisの、資金が巨大であれば、共有するために、クラスタMySQLサービスを正立を考えるようにバインドされます。この時点で、我々は、データキャッシュとして優れた技術を使用して、コードを最適化するために、良いコードのフレームワークを使用している間、データベースへの接続を削減する方法を検討しますメインデータベースの圧力。今日は、データベースのストレスを軽減、MySQLのマスター・スレーブ構成を使用して要約し、分離を読み書きします。

    明確な目的、MySQL Clusterの展開は、メイン1から戦術を使用して、メインのライブラリを使用して、書き込み動作は、ライブラリからリアルタイムでデータを同期するための主なライブラリは、ビジネスは、ライブラリから読み込むための責任があるので、別の読み取りの目的を完了すると書き込み。

    同期は、ライブラリー、I / Oスレッド、スレッドSQLからの二つのスレッドを生成するからMySQLのマスター原理は簡単である;のI /メインライブラリ(バイナリログ)、そして得られたログにO要求バイナリログスレッドは、中継バイナリログを書き込みます。 (リレーログ)ログファイルを、一次ライブラリーは、スレッドが合格O / IをBINLOGために使用されるライブラリーから、ログ・ダンプ・スレッドを生成します。

    SQLスレッドは、リレーログログファイルを読み取り、そして一貫したマスタ・スレーブ動作を実現する具体的な動作に解析され、一貫性の最終的なデータ。

まず、2台のアリのクラウドサーバー、ホスト(マスター)として1を用意し、スレーブ(スレーブ)として、mysql5.7をインストールされています

    マスターサーバーに

    MySQLは、以下の設定を追加、設定ファイルのvimな/etc/my.cnfを変更します

サーバID = 1 
innodb_flush_log_at_trx_commit = 2 
sync_binlog = 1つの
ログ -bin = MySQLのビン1

設定手順:

(idは簡単に自分の設定することができますが、idとスレーブが同じでないことを確実にするために)メインサービスIDを設定します。#
= 1つのサーバID

#セット1が最も安全なコースですが、パフォーマンスは、他の2つのパラメータに対する相対(最悪です言葉が、容認できません)。あなたは、データの一貫性と整合性を求めていない場合は、このような高い同時書き込みログサーバとしてのみ最も性能要件は、高性能取得するために0に設定されている場合、2に設定することができ
innodb_flush_log_at_trx_commit = 2

#オープンのbinlog-とステップ関数
sync_binlogを1 = 

#binlogログファイル名
ログのMySQL-ビン・ビン= 200 

これは(これはすべてのライブラリの同期を示していない場合)のみ、ライブラリを同期することを示している。#
ビンログ-DO-DB = XXXX 

保存された後は、再起動のMySQL

systemctl再起動mysqldを

あなたのパスワードを-p -uroot mysqlコマンドラインのmysqlを入力します。

authorizationコマンドを入力します。

GRANT REPLICATION SLAVE ON *。*に' REPL ' @ ' %を'で識別さ" Admin123!" ;

すべてのスレーブが!REPLアカウントとパスワードデータAdmin123でマスターを同期することができることを意味

そして、マスターのステータスを確認します

マスターのステータスを表示。

この時点で、マスター構成は、既にスレーブ(スレーブ)でログインし、行われています

同様に注目すべきである以下の構成を追加な/etc/my.cnfスレーブMySQLサーバ構成VIMを変更すること、サーバIDとしないマスタとして

サーバID = 201  
innodb_flush_log_at_trx_commit = 2  
sync_binlog = 1  
ログ -bin = MySQLのビン-201

サービスを再起動して保存した後mysqldを再起動しsystemctl

あなたのパスワードを-p -uroot mysqlコマンドラインのmysqlを入力します。

コマンドを入力します。

= MASTER_HOSTする変更マスタ' 39.106.228.179 '、master_userは= ' REPLを'、master_password = " Admin123!'MASTER_LOG_FILE = ' mysqlの-bin.000002 "、MASTER_LOG_POS = 154

コマンド説明:

MASTER_HOST:ホストのIP

。MASTER_USER:ホスト許可されたユーザー

master_passwordは:パスワード認証を記入する際、ホスト

MASTER_LOG_FILE:ホストショーマスターのステータス、ファイル

MASTER_LOG_POS:ホストのショーマスターのステータス、位置インチ

スレーブを起動するコマンドを入力します。

スレーブを起動します。

その後、我々は、スレーブがデータを同期させることができるかどうかを確認するために、マスタ書き込みのためにテストすることができます

 

 もちろん、個別の読み取りとデータの一貫性が高いシーンのリアルタイム要件場合は、一定の潜伏から、異なるアプリケーションのシナリオに応じて設定からMySQLのレプリケーションマスタを異なるポリシーを選択し、メインのmysqlない万能薬を書きますお勧めできません。

 

おすすめ

転載: www.cnblogs.com/xcsg/p/10982958.html