ホームページ > データベース > mysql チュートリアル > MySQL 同期データ レプリケーションを実装する方法

MySQL 同期データ レプリケーションを実装する方法

王林
リリース: 2023-05-26 15:22:26
転載
1431 人が閲覧しました

MySQL のレプリケーション機能は、1 つのデータベースから他の複数のデータベースにデータを同期できます。 1 つ目は一般にマスター データベース (マスター) と呼ばれ、2 つ目はスレーブ データベース (スレーブ) と呼ばれます。 MySQL レプリケーション プロセスは非同期方式を使用しますが、遅延は非常に小さく、数秒で同期されます。

1. 同期データ レプリケーションの基本原則

1. メイン ライブラリで発生したデータ変更はバイナリ ログ Binlog に記録されます
2. スレーブ ライブラリの IO スレッドはコピーしますメイン ライブラリの Binlog 独自のリレー ログへ リレー ログ
3. スレーブ ライブラリの SQL スレッドはリレー ログを読み取って再生することでデータ レプリケーションを実現します

MySQL 同期データ レプリケーションを実装する方法

MySQL レプリケーション モードには、ステートメント レベル、行レベル、混合レベルの 3 つのタイプがあります。レプリケーションレベルが異なると、マスターサーバーは異なる形式のバイナリログファイルを生成します。

2. 同期データの例

オペレーティング システム: centos7
データベース: mysql8
ホスト (マスター): 192.168.0.101
スレーブ (スレーブ): 192.168.0.102

1. マスター/スレーブの mysql 設定ファイルを変更する

ホスト設定 my.cnf

[mysqld] 
# 服务器标识,每个服务器不能一样
server_id=101
# 开启日志文件
log_bin=binlog 
# 普通用户只能读 OFF是关闭状态
read_only=off 
# 超级用户只能读 OFF是关闭状态
super_read_only=off
ログイン後にコピー

スレーブ設定

[mysqld]
# 服务器标识
server_id=102
# 启用binlog日志,并指定文件名前缀
log_bin=binlog
# 普通用户只能读 on是开启状态 
read_only=on 
# 超级用户只能读 on是开启状态 
super_read_only=on
ログイン後にコピー

サービスを再起動

systemctl restart mysqld
ログイン後にコピー

2. ホストは同期アカウントを確立し、メインデータベースのステータス情報を確認します

データベースにログインし、アカウントを作成します

create user repl identified with mysql_native_password by 'repl123';
grant replication slave on *.* to repl;
flush privileges;
ログイン後にコピー

メインデータベースのマスターステータスを確認し、ログを取得しますファイル名とオフセット情報

MySQL 同期データ レプリケーションを実装する方法

3. スレーブ同期設定

ホストのバイナリログ操作をコピー(データの一部は、メイン データベース マスター ステータス)
ホストの同期アカウント:source_user
パスワード:source_password
ポート:source_port
ログ ファイル:source_log_file
オフセット:source_log_pos

change replication source to source_host='192.168.0.101', source_user='repl', source_password='repl123', source_port=3306,source_log_file='binlog.000001', source_log_pos=154;
ログイン後にコピー

スレーブの起動synchronization

start replica;
ログイン後にコピー

4. 同期構成の表示効果

ホスト上で、スレーブからの接続があるかどうかを確認します

show processlist;
ログイン後にコピー

スレーブの同期レプリケーションのステータスを確認します

show slave status\G
ログイン後にコピー

ホスト上で、テーブルにデータを挿入し、スレーブマシンの対応するテーブルのデータを確認します。テスト結果は非常に良好です(省略)

以上がMySQL 同期データ レプリケーションを実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:yisu.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート