アクセス回数が増えると、時間のかかるデータベース読み取り操作では、データベースへの負荷を軽減するために、書き込み操作と読み取り操作を分離することが一般的に採用されます。データベース エンジンは、一般的にマスター/スレーブ アーキテクチャを採用します。 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の完全コード
目次1. ReactとAntdを組み合わせてログイン機能を実現2. ReactとAntdを組み合わせ...
設定ファイルを書いてMyBatisを簡単に使う方法マイバティス3.xここでは MyBatis につい...
1. 全体的なアーキテクチャ図他のデータベースと比較すると、MySQL は、そのアーキテクチャがさま...
この記事では、ログイン認証コードを実装するためのvueの具体的なコードを例として紹介します。具体的な...
最初にsudo suコマンドを使用して root アカウントに切り替えることをお勧めします。そうしな...
一般的に、リストには選択機能があり、単一選択、二重選択、複数選択が非常に一般的です。カスタム ループ...
ウェブページ上の画像が一般的に jpg、gif、png 形式であることは誰もが知っています。それらの...
目次序文方法1: 高コントラスト方法2: getBoundingClientRect() APIを使...
目次Vue2 ライティングVue3プラグインのバージョンの記述Vue3 動的コンポーネントの記述書き...
目次1. Vue ライフサイクル2. フック機能2.1 4つの段階と8つの方法に分かれています。 2...
広告を閉じるまでのカウントダウンを実装するために JavaScript を使用するまだフロントエンド...
目次1. リソースファイル2. インストール2.1 詳細な手順2.1.1 ディスクイメージのマウント...
目次1. 各() 2. arr.filter() 3. arr.every() 4. arr.map...
この記事では、ソーシャル ウェブサイトのホームページを比較分析することで洞察を得て、ソーシャル ウェ...
まず、MySQLをskip-grant-tablesモードで起動します: mysqld --skip...