アクセス回数が増えると、時間のかかるデータベース読み取り操作では、データベースへの負荷を軽減するために、書き込み操作と読み取り操作を分離することが一般的に採用されます。データベース エンジンは、一般的にマスター/スレーブ アーキテクチャを採用します。 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の完全コード
目次イベントループブラウザ環境イベントループノード環境イベントループ6つのステージ(1)setTim...
ネイティブJavaScriptでスキニングを実装するための具体的なコードは参考までに。具体的な内容は...
イベント委任を使用してメッセージ ボード機能を実装します。 <!DOCTYPE html>...
fdisk と比較すると、parted はあまり使用されず、主に 2T を超えるパーティションに使用...
目次序文1. MySQL マスタースレーブレプリケーション1. サポートされているレプリケーションの...
目次1. 概念をすぐに認識する: 2. ローカルフィルター: 3. グローバルフィルター: 4. 拡...
この記事の例では、画像デジタル時計を実現するためのJSの具体的なコードを参考までに共有しています。具...
ホストとコンテナ間でファイルを転送するには、コンテナの完全な ID が必要です。取得方法は以下の通り...
目次チェーン呼び出し小さなケースチェーン呼び出しjQuery オブジェクトが任意のメソッド (ノード...
MySQL では、ソートには order by を、ページングには limit をよく使用します。最...
この記事では、MySQL が乱数を生成し、文字列を連結する方法について例を使用して説明します。ご参考...
序文この記事は、サードパーティのモジュールをロードせずにNginxで処理できることのみに焦点を当てて...
1. システム環境yum updateアップグレード後のシステムバージョンは[root@yl-web...
概要: MySQL JDBC 抽出にはどのような方法を使用すればよいでしょうか? その方法を説明しま...
コードを書くのに 30 分かかりましたが、この HTML5 Canvas New Year Fire...