アクセス回数が増えると、時間のかかるデータベース読み取り操作では、データベースへの負荷を軽減するために、書き込み操作と読み取り操作を分離することが一般的に採用されます。データベース エンジンは、一般的にマスター/スレーブ アーキテクチャを採用します。 MySQL サーバーのマスター/スレーブ構成を実装すると、読み取りと書き込みの分離を実現できます。また、メイン データベースがクラッシュした後でも、スタンバイ データベースからデータを復元できるため、Web サイトへのアクセスが中断されるのを防ぐことができます。以下は、MySQL マスター/スレーブ サーバーの構成プロセスの簡単な説明です。 まず、同じ LAN 内の 2 台のマシンに MySQL サービスをインストールする必要があります (もちろん、1 台のマシンを使用して 2 台のマシンを仮想化することもできます)。 ホストA: 192.168.1.100 スレーブB: 192.168.1.101 スレーブは複数存在できます。 1. まずホスト A にログインし、次のコマンドを実行してスレーブ権限を付与します。クラスター マシンが複数ある場合は、複数回実行します。 mysql> 'backup'@'192.168.1.101' ('123456' によって識別) に *.* のレプリケーション スレーブを許可します。 2. ホスト A の my.cnf を開き、次の構成パラメータを入力します。 server-id = 1 #ホストID、整数 log_bin = /var/log/mysql/mysql-bin.log #このファイルが書き込み可能であることを確認してください read-only = 0 #ホスト、読み取りと書き込みの両方が可能です binlog-do-db = test #データをバックアップする必要があります。複数行書き込みます binlog-ignore-db = mysql #バックアップする必要のないデータベース、複数行書き込みます 3. スレーブ B の my.cnf を開き、次の構成パラメータを入力します。 サーバーID = 2 log_bin = /var/log/mysql/mysql-bin.log マスターホスト =192.168.1.100 マスターユーザー =バックアップ マスターパス =123456 マスターポート =3306 master-connect-retry=60 #スレーブサーバーがマスターサーバーが切断されていることを検出した場合、再接続するまでの時間差(秒単位) replicate-do-db =test #特定のデータベースのみを複製する replicate-ignore-db=mysql #特定のデータベースを複製しない 4. データベースを同期する 上記の設定後、ホスト A とスレーブ B をそれぞれ再起動して自動同期を実現します。 5. 検証 ホスト A で、 大まかにこれらの内容を見ることができます
スレーブ B では、 表示される内容は以下のとおりです。 Slave_IO_State 項目が「マスターがイベントを送信するのを待機中」であり、赤い円内の両方の項目が「はい」であることがわかります。したがって、基本的に構成は成功していると判断できます。 さらに、ホスト A で よくある間違い 1. マスターに障害が発生し、修復して再起動した後、スレーブはマスターと同期できなくなります。 エラー: 理由:マスターが再起動すると、MySQL binlog が再生成され、対応するレコードの位置が変更されます。 解決: -マスター: mysql > ログをフラッシュします。 mysql > マスターステータスを表示します。 ファイルと位置の値を記録する -奴隷: mysql > スレーブを停止します。 mysql > MASTER を MASTER_LOG_FILE='mysql-bin.000049'、MASTER_LOG_POS=1359 に変更します。 mysql> スレーブを起動します。 mysql > スレーブステータスを表示\G; 2. スレーブが故障し、設定は正しいが初期化できない エラー: 解決: -マスター: mysql > ログをフラッシュします。 mysql > マスターステータスを表示します。 ファイルと位置の値を記録する -奴隷: mysql > スレーブをリセットします。 mysql > マスターを、master_host='192.168.10.100'、master_user='test'、master_password='123456'、master_log_file='mysql-bin.000004'、master_log_pos=106 に変更します。 mysql> スレーブを起動します。 mysql > スレーブステータスを表示\G; 要約する 以上がこの記事の全内容です。この記事の内容が皆様の勉強や仕事に何らかの参考学習価値をもたらすことを願います。123WORDPRESS.COM をご愛顧いただき、誠にありがとうございます。これについてもっと知りたい場合は、次のリンクをご覧ください。 以下もご興味があるかもしれません:
|
<<: Windows サーバー管理におけるセキュリティの考慮事項
>>: Excelアップロード機能を実現するVue + iViewの完全コード
目次JavaScript で配列を作成する配列の使用配列を分割文字列に変換する配列に要素を追加する配...
目次要件の説明:要件分析:ニーズの解決問題解決私はフロントエンドの新人ですが、バックエンドのバグの中...
前回の記事「Zen Coding: HTML/CSS コードを素早く記述する方法」を公開した後、一部...
序文ファイル システムは、データの保存方法と復元方法を整理する役割を担います。 いずれにせよ、時間の...
新しいプロジェクトを始めるこの記事では主に、新規プロジェクトを0から1まで取り組むプロセスを記録し、...
目次1 Dockerをインストールする2 国内ミラーソースの設定3 中国語環境基本版Centos7イ...
Dockerfile では、run、cmd、entrypoint はすべてコマンドを実行するために使...
1. Webページを開くと503サービス利用不可が表示されますが、更新すると正常にアクセスできます。...
目次序文数独の解き方最初のボックスに記入してください2番目のボックスに記入してください3番目のボック...
目次序文InnoDB ストレージ アーキテクチャInnodb テーブルスペースインドストレージディス...
LinuxにMySQL 5.7.18をインストールする方法1. MySQLをダウンロードします。公...
問題の説明最近、いくつかのマシンで、一日のさまざまな時間に次の警告メッセージが表示されました。 3月...
最近、Web 開発のフロントエンドとバックエンドの技術を学んだので、その後の管理を容易にするためにプ...
WeChatアプレットuniappは左スワイプで削除効果を実現成果を達成する1. スワイプしてリス...
目次まずページレイアウトを構築する必要がありますJS関数1 JS関数2 JS関数3 JS関数4効果図...