MySQL マルチマスターと 1 スレーブのデータバックアップ方法のチュートリアル

MySQL マルチマスターと 1 スレーブのデータバックアップ方法のチュートリアル

概要

いずれかのデータベースに対する操作は他のデータベースに自動的に適用され、2 つのデータベースのデータの一貫性が常に保たれます。

これには次の利点があります。

  • 災害復旧にも使用でき、いずれか 1 つに障害が発生した場合は別のものに切り替えることができます。
  • 負荷分散を実行し、リクエストを任意のマシンに分散して、Web サイトのスループットを向上させることができます。 オフサイトのホットバックアップでは、特に災害復旧に適しています。

MySQL マスタースレーブレプリケーション方式

1 マスターデータベースがデータベースを操作すると、操作記録がbiglogログファイルに書き込まれます。

2 スレーブデータベースは、ネットワークを介してマスターデータベースのログファイルを取得し、それをローカルログシステムに書き込み、データベース内のデータベースイベントを1つずつ完了します。

3 スレーブはリレー ログ内のイベントをやり直し、マスターの変更を自身のデータベースに反映するため、両端のデータはまったく同じになります。

環境

オペレーティングシステム: CentOS

MySQL バージョン: mysql-5.6.26 (マスターとスレーブのデータベース バージョンは一致している必要があります)

マスター1の構成

1 バイナリログを有効にする

vim /etc/my.cnf

サーバーID=6
ログ bin = mysql bin

2 MySQLを再起動し、ログインして認証する

mysql -uroot -p123456

'123456' で識別される 'repl'@'10.211.55.7' に、*.* 上のレプリケーション スレーブ、レプリケーション クライアントを許可します。

IPアドレスはスレーブサーバーのIPアドレスです

3 ログステータスの表示

マスターステータスを表示します。

マスター2の構成

1 バイナリログを有効にする

vim /etc/my.cnf

サーバーID=8
ログ bin = mysql bin

2 MySQLを再起動し、ログインして認証する

mysql -uroot -p123456

'123456' で識別される 'repl'@'10.211.55.7' に、*.* 上のレプリケーション スレーブ、レプリケーション クライアントを許可します。

IPアドレスはスレーブサーバーのIPアドレスです

3 ログステータスの表示

マスターステータスを表示します。

スレーブ構成

1 設定ファイルを変更します(スレーブのデフォルトデータベースが起動されるポートは閉じられている必要があることに注意してください service mysql stop)

vim /etc/my.cnf

[mysqld]
 binlog-ignore-db=mysql
 binlog_format=混合
 有効期限=7
 スレーブスキップエラー=1062
 リレーログ=mysqlリレービン
 ログスレーブ更新=1

[mysqld_マルチ]
 mysqld = /usr/bin/mysqld_safe です。
 mysqladmin = /usr/bin/mysqladmin
 ユーザー=root
 パスワード=123456
[mysqld6]
 ポート=3306
 データディレクトリ=/home/mysql/data6
 pidファイル=/home/mysql/data6/mysql.pid
 ソケット=/home/mysql/data6/mysql.sock
 ユーザー=mysql
 サーバーID=7
[mysqld8]
 ポート=3307
 データディレクトリ=/home/mysql/data8
 pidファイル=/home/mysql/data8/mysql.pid
 ソケット=/home/mysql/data8/mysql.sock
 ユーザー=mysql
 サーバーID=7

2 ビルドディレクトリを初期化する

/usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/home/mysql/data6 &
/usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/home/mysql/data8 &

3 ディレクトリの権限を変更する

chown -R mysql /home/mysql/data6

chown -R mysql /home/mysql/data8

4 サービスを開始する

mysqld_multi --defaults-file=/etc/my.cnf 開始 6

mysqld_multi --defaults-file=/etc/my.cnf 開始 8

5 ログインテスト(別途認証)

mysql -P 3306 -S /home/mysql/data6/mysql.sock

mysql> マスターを、master_host='10.211.55.6'、master_user='repl'、master_password='123456'、master_port=3306、master_log_file='mysql-bin.000001'、master_log_pos=120 に変更します。
mysql> スレーブを起動します。

mysql -P 3307 -S /home/mysql/data8/mysql.sock

mysql> マスターを、master_host='10.211.55.8'、master_user='repl'、master_password='123456'、master_port=3306、master_log_file='mysql-bin.000001'、master_log_pos=120 に変更します。
mysql> スレーブを起動します。

はい、以上です。

要約する

上記はこの記事の全内容です。この記事の内容が皆さんの勉強や仕事に一定の参考学習価値を持つことを願っています。ご質問があれば、メッセージを残してコミュニケーションしてください。123WORDPRESS.COM を応援していただきありがとうございます。

以下もご興味があるかもしれません:
  • MySQL マスタースレーブ構築(複数のマスターと 1 つのスレーブ)の実装アイデアと手順
  • Centos7 Mysql 5.6 マルチマスターと 1 スレーブのソリューションと詳細な構成
  • MySQL8.0.18 複数マスターと 1 スレーブの構成

<<:  Linuxカーネルがプロセスアドレス空間に侵入し、プロセスメモリを変更する方法

>>:  Vue.js の計算プロパティ、監視プロパティ、ライフサイクルの詳細な説明

推薦する

MySQL データベース アカウントの作成、認証、データのエクスポートおよびインポート操作の例

この記事では、MySQL データベースでのアカウントの作成、認証、データのエクスポートおよびインポー...

WeChatアプレットbindtapとcatchtapの違いの詳細な説明

目次1. イベントとは何ですか? 2. イベントの使い方3. バインドタップとキャッチタップの違い4...

HTML ハイパーリンクの詳細な説明

ハイパーリンクハイパーリンクは、Web サイト上のすべてのページがハイパーリンクで接続され、ページ間...

Win7 で IIS7 Web および FTP サービスを完全にアンインストールする方法

昨日、パソコンにPHP開発環境をセットアップした後、Apacheサーバーを再起動するとエラーが続きま...

MySql 学習 3 日目: データ テーブル間の接続とクエリの詳細

主キー:キーワード: 主キー機能: null にすることはできず、一意である必要があります。主キーの...

React における useEffect と useLayoutEffect の違い

目次前提条件使用効果コミット前ミューテーション効果コミットミューテーション効果コミットレイアウト効果...

Nginx リバース プロキシを使用してクロスドメイン問題を解決する方法の詳細な説明

質問前回のクロスドメイン リソース共有に関する記事では、ドメイン間で Cookie を送信する場合、...

Nodejs がイントラネット侵入サービスを実装

目次1. LAN内のプロキシ2. イントラネットの浸透イントラネット侵入とは何ですか?橋プロキシサー...

MySQLデータベーステーブルの容量を確認する方法の例

この記事では、MySQL のデータベース テーブルの容量を確認するためのコマンド ステートメントを紹...

Linux での mysql-5.7.28 インストール チュートリアル

1. 公式ウェブサイトから Linux バージョンをダウンロードします: https://dev.m...

Webデザイナーの成長体験

<br />まず最初に、私はこのグループの中では完全な新人だということを述べなければなり...

Baota LinuxパネルにFTP接続できない問題の解決方法の詳細な説明

Alibaba Cloud Server を使用している場合は、セキュリティ グループ設定でポート ...

CentOS7 で jar アプリケーションの起動を設定する方法

プロジェクトの展開中に遭遇した落とし穴Zhihudemo を展開する際、Jenkins などの自動展...

MySQL が自動的に再起動する問題の解決方法

序文最近、テスト環境で MySQL データベースが自動的に再起動し続ける問題が発生しました。原因は、...

mysql8.0.20 のダウンロードとインストールおよび発生した問題 (図とテキスト)

1.ブラウザでmysqlを検索してダウンロードしてインストールしますアドレス: https://d...