Centos7 システムでの MySQL マスター スレーブ同期構成スキーム

Centos7 システムでの MySQL マスター スレーブ同期構成スキーム

序文

最近、高可用性プロジェクトに取り組む際には、データの同期が必要になっています。ノードが 2 つしかないため、マスター間同期では循環同期のリスクがある可能性があるため、MySQL マスター スレーブ同期の使用を検討します。

MySQL のデータ同期を経験したことがない方は、データ同期は難しいと思うかもしれませんが、以下の操作を実行すると、同期が非常に簡単であることがわかります。結局のところ、設定方法と問題のトラブルシューティング方法を知るだけでよく、MySQL チームの基盤となる特定の実装がすでにそれを実現するのに役立っています。

では、早速本題に入りましょう。

(1)まず、2つのデバイス(マスターとスレーブ)があることを確認し、各デバイスにMySQLデータベースをインストールします。インストールが完了したら、

mysql -u [データベースユーザー名] -p [ユーザーパスワード] を使用します。MySQL にログインできれば、インストールは成功です。

(2)MySQL設定ファイルを編集します。パスは通常、/etc/mysql/mysql.conf.d/mysqld.cnf(MySQLのインストール時にユーザーが指定したディレクトリ)です。

例: /etc/my.conf など)。必要に応じて、マスターおよびスレーブ mysql の [mysqld] モジュールの下に次のコンテンツを追加します。

  [mysqld]

  デフォルトのストレージエンジン = innodb

  innodb_file_per_table=1

  照合サーバー=uft8_general_ci

  init-connect='名前を設定 uft8'

  バインドアドレス=0.0.0.0

  log_bin=mysql-bin

  リレーログ=mysqlリレービン

  有効期限切れログ日数=100

  スレーブ開始をスキップ=1

  binlog_do_db=[同期するデータベースの名前]

  binlog-ignore-db=mysql、sys、information_schema、performance_schema

  server-id=[マスターの場合は1、スレーブの場合は2]

  自動増分増分=2

  自動増分オフセット=1

  オープンファイル制限=65535

  mac_connections=1000

  スレーブスキップエラー=すべて

(3)シェルを使用してマスターサーバーとスレーブサーバーに接続し、mysql -u [データベースユーザー名] -p [ユーザーパスワード]でそれぞれマスターノードとスレーブノードのmysqlにログインし、同期ユーザーreplを作成して、次のコマンドを実行します。

  'repl' で識別される 'repl'@'%' に、GRANT オプションを使用して *.* のすべての権限を付与します。

次に、MySQL 操作ページを終了し、MySQL サービスを再起動します。コマンドは次のとおりです。

  systemctl で mysql.service を再起動します。

次に、メインノード Mysql に入り、Mysql の File 列と Positon 列を表示します。コマンドを実行する: show master status;結果は次のようになります

(4)スレーブサーバーにログインし、mysql -u [データベースユーザー名] -p [ユーザーパスワード]を使用してMySQLに入り、以下を実行します。

  奴隷を停止します。

  スレーブをリセットします。

  マスターをmaster_host='[マスターノードのIP]'、master_user='repl'、master_password='repl'、master_log_file='[mysql-bin.000001、(3)のファイル列を参照]'、master_log_pos=[245、(3)のポジション列を参照]に変更します。

  出口;

systemctl restart mysql.serviceを実行して、MySQL サービスを再起動します。

(5)スレーブサーバーのスレーブライブラリを起動し、mysql -u [データベースユーザー名] -p [ユーザーパスワード]でスレーブノードMysqlに入り、以下のコマンドを実行します。

  スレーブを起動します。

バックアップ サービスのステータスを表示するには、 show slave status\G;を実行します。次の 2 つの状態が Yes の場合、マスター スレーブ同期が成功したことを意味します。

次に、メイン データベースにデータを挿入して、そのデータが自動的にスレーブ データベースに追加されるかどうかを確認します。ちょっと面白いと思いませんか?今すぐテストしてみましょう。

PS: 同期の問題が発生した場合はどうなりますか?

(1)上図のMaster_Log_File属性とRead_Master_Log_Pos属性がマスターノードのクエリ結果と一致しているかどうかを確認します。

(2)データベースからメインデータベースへの接続がタイムアウトした可能性があります。接続遅延を増やしてください。

(3)上記の問題が解決しない場合は、MySQLログを確認して原因を調べてください。

要約する

以上がこの記事の全内容です。この記事の内容が皆様の勉強や仕事に何らかの参考学習価値をもたらすことを願います。123WORDPRESS.COM をご愛顧いただき、誠にありがとうございます。

以下もご興味があるかもしれません:
  • MySQL マスタースレーブ同期、トランザクションロールバックの実装原理
  • MySQLデータベースのマスタースレーブ同期の実際のプロセスの詳細な説明
  • MySQL マスタースレーブ同期における server-id の例の詳細な説明
  • MySQL マスタースレーブ同期遅延の原因と解決策
  • MySQL マスタースレーブ同期メカニズムと同期遅延問題追跡プロセス
  • MySQLデータベースのマスタースレーブ同期構成と読み取り書き込み分離
  • Mysql マスタースレーブ同期 Last_IO_Errno:1236 エラー解決
  • Mysqlマスタースレーブ同期の実装原理
  • Mysql マスタースレーブ同期構成の実践の詳細な説明
  • Windows での MySQL マスター スレーブ同期の詳細な説明
  • MySQLデータベースでマスタースレーブ同期を設定する方法の詳細な説明
  • Mysql データベースのマスタースレーブ同期構成

<<:  VMware に Linux システム (Redhat8) と仮想マシンのネットワーク構成をインストールする方法

>>:  jQueryとCSSを組み合わせてトップに戻る機能を実現

推薦する

MySQL 5.x 以降を使用している場合のエラー #1929 列 ''createtime'' の日付時刻値が正しくありません: '''' の簡単な解決方法

MySQL をインストールした後、テーブル データを保存および削除しようとすると、常にエラー メッセ...

InnoDB エンジンのパフォーマンスを最適化するための my.cnf パラメータ構成

私はインターネット上で数え切れないほどの my.cnf 構成を読みましたが、言及されている構成のほと...

MySQL テーブル作成外部キー エラーの解決方法

データベーステーブルA: テーブル task_desc_tab を作成します ( id INT(11...

WeChatアプレットが左右連携を実現

この記事では、WeChatアプレットの左右連動を実現するための具体的なコードを参考までに紹介します。...

Windows での MySQL スケジュールバックアップ スクリプトの実装

Windows サーバーでデータベース データを定期的にバックアップする場合は、Windows タス...

Vue ルーティングフォールバックに最適なソリューション (vue-route-manager)

目次ルーティングマネージャー背景はじめる問題を解決する方法要約するルーティングマネージャー各ジャンプ...

使用状況分析を備えたMySQL

持つことの使用法having 句を使用すると、グループ化後にさまざまなデータをフィルター処理できます...

HTML テーブルタグチュートリアル (24): 行の水平方向の配置属性 ALIGN

水平方向では、行の配置を左、中央、右に設定できます。基本的な構文<TR ALIGN="...

Tomcat の静的ページ (html) で中国語の文字化けが発生する問題の究極の解決策

tomcatでは、jspは文字化けしませんが、htmlの中国語は文字化けします理由はいくつかあります...

Vueはシンプルな計算機を実装する

この記事では、参考までに、Vue の具体的なコードで簡単な計算機を実装する方法を紹介します。具体的な...

Vueは秒殺しのカウントダウンコンポーネントを実装する

この記事では、2番目のキルカウントダウンコンポーネントを実装するためのVueの具体的なコードを参考ま...

17の広告効果測定の解釈

1. 広告の 85% は未読です<br />解釈: 成功する広告の 15% にどうやって...

JavaScript ツールチェーンの不完全なガイド

目次概要静的型チェックコードスタイルチェック(Linter)パッケージマネージャーモジュールローダー...

MySQL 8.0.13 のインストールと設定方法のグラフィックチュートリアル (Win10 の場合)

MySQL 8.0.13 のインストールと設定方法を皆さんと共有したいと思います。お役に立てれば幸...

誰もが登録できるようにJiedaibaoを宣伝するにはどうすればよいでしょうか? ジエダイバオのプロモーション方法とスキル

借財宝は最近人気が出ている携帯電話ローンソフトウェアプラットフォームです。知人同士の貸し借りが特徴で...