MySQL マスター/スレーブ レプリケーションの実践 - ログ ポイントに基づくレプリケーション コード例の詳細な説明
この記事では主にMySQLマスタースレーブレプリケーションの実践 - ログポイントに基づくレプリケーションについて詳しく紹介します。興味のある方は参考にしてください。
ログポイントに基づくレプリケーション
1. メインデータベースとスレーブデータベースに専用のレプリケーションアカウントを作成します
MariaDB [employees]> create user 'repl'@'172.%' identified by '123456';
本番環境のパスワードは、特定のパスワード強度を達成するために関連する仕様に準拠する必要があり、スレーブで指定されることに注意してください。データベース メイン ライブラリは特定のネットワーク セグメントでのみアクセスできます
2. メイン ライブラリとスレーブ ライブラリにコピー権限を付与します
3. メイン ライブラリを設定します
バイナリ ログを有効にするには、サービスと server_id を再起動する必要があることに注意してください。は動的パラメーターです。コマンドラインと構成ファイルを組み合わせて、再起動せずに永続的な構成を実現できます。server_id はクラスター内で一意であることに注意してください。
MariaDB [employees]> grant replication slave on *.* to 'repl'@'172.%';
注: ログとデータを分離することは良い習慣です。それらを別のデータ パーティションに置くのが最善です
4. スレーブ ライブラリを設定します
オプション log_slave_update は、リンク レプリケーションが設定されている場合、このオプションが必要であることに注意してください。 server_id がクラスター内で一意であることを確認します。
[mysqld] log_bin = /var/log/mysql/mariadb-bin log_bin_index = /var/log/mysql/mariadb-bin.index binlog_format = row server_id = 101
5. スレーブ データベースからデータを初期化します
ここでは、メイン データベースのバックアップに Mysqldump を使用します。ロックフリーのホット バックアップには xtrabackup を使用することをお勧めします。 (innodb エンジンに基づく)。
メイン データベース上の従業員データベースをバックアップします。データ
コードは次のとおりです:
[mysqld] # replication log_bin = /var/log/mysql/mariadb-bin log_bin_index = /var/log/mysql/mariadb-bin.index server_id = 102 # slaves relay_log = /var/log/mysql/relay-bin relay_log_index = /var/log/mysql/relay-bin.index relay_log_info_file = /var/log/mysql/relay-bin.info log_slave_updates = ON read_only
scp または docker ボリュームを介してバックアップ ファイルbackup.sql をスレーブ サーバーにマウントし、インポートします。それをスレーブ ライブラリに追加します
mysqldump --single-transaction --master-data=1 --triggers --routines --databases employees -u root -p >> backup.sql
6. 既存のマスター@172.20 .0.2 とスレーブ @172.20.0.3 のレプリケーション リンクを開始します。データは mysqldump を通じてスレーブ データベース スレーブに同期されています。スレーブ サーバー スレーブ
mysql -u root -p < backup.sql
スレーブ データベースでレプリケーション リンクを開始します
MariaDB [(none)]> CHANGE MASTER TO MASTER_HOST='master', MASTER_USER='repl', MASTER_PASSWORD='123456', MASTER_LOG_FILE='mariadb-bin.000029', MASTER_LOG_POS=516; Query OK, 0 rows affected (0.02 sec)
7. スレーブ データベースで、ライブラリのスレーブ ステータスを確認します
Slave_IO_Running および Slave_SQL_Running が YES である必要があります。エラーが発生した場合は、プロンプト情報を読む必要があります。 Last_IO_Error または Last_SQL_Error の詳細
MariaDB [(none)]> start slave; Query OK, 0 rows affected (0.01 sec)
8. メイン ライブラリのダンプ スレッドを確認します
ビンログ ダンプ スレッドが正しく開始されているかどうかを確認します
MariaDB [(none)]> show slave status\G *************************** 1. row *************************** Slave_IO_State: Waiting for master to send event Master_Host: master Master_User: repl Master_Port: 3306 Connect_Retry: 60 Master_Log_File: mariadb-bin.000029 Read_Master_Log_Pos: 516 Relay_Log_File: relay-bin.000002 Relay_Log_Pos: 539 Relay_Master_Log_File: mariadb-bin.000029 Slave_IO_Running: Yes Slave_SQL_Running: Yes Replicate_Do_DB: Replicate_Ignore_DB: Replicate_Do_Table: Replicate_Ignore_Table: Replicate_Wild_Do_Table: Replicate_Wild_Ignore_Table: Last_Errno: 0 Last_Error: Skip_Counter: 0 Exec_Master_Log_Pos: 516 Relay_Log_Space: 831 Until_Condition: None Until_Log_File: Until_Log_Pos: 0 Master_SSL_Allowed: No Master_SSL_CA_File: Master_SSL_CA_Path: Master_SSL_Cert: Master_SSL_Cipher: Master_SSL_Key: Seconds_Behind_Master: 0 Master_SSL_Verify_Server_Cert: No Last_IO_Errno: 0 Last_IO_Error: Last_SQL_Errno: 0 Last_SQL_Error: Replicate_Ignore_Server_Ids: Master_Server_Id: 101 Master_SSL_Crl: Master_SSL_Crlpath: Using_Gtid: No Gtid_IO_Pos: Replicate_Do_Domain_Ids: Replicate_Ignore_Domain_Ids: Parallel_Mode: conservative 1 row in set (0.00 sec)
バイナリ ダンプのコマンドが行 2 で開始されていることがわかります。レプリケーション スレッドが正常に開始されたことを証明します
9. 概要利点
フェイルオーバー中に新しいプライマリのログ オフセットを再取得することがより困難になります
ワンマスターでは、マルチスレーブ環境では、古いマスターがダウンし、クラスター内で新しいマスターが選択された場合、他のスレーブ ライブラリは新しいマスターを再同期する必要があります。これは、各 DB のバイナリログが独立して存在するため、それを見つけるのが困難です。同期が開始されたログポイント
以上がMySQL マスター/スレーブ レプリケーションの実践 - ログ ポイントに基づくレプリケーション コード例の詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









MySQLは、オープンソースのリレーショナルデータベース管理システムです。 1)データベースとテーブルの作成:createdatabaseおよびcreateTableコマンドを使用します。 2)基本操作:挿入、更新、削除、選択。 3)高度な操作:参加、サブクエリ、トランザクション処理。 4)デバッグスキル:構文、データ型、およびアクセス許可を確認します。 5)最適化の提案:インデックスを使用し、選択*を避け、トランザクションを使用します。

次の手順でphpmyadminを開くことができます。1。ウェブサイトコントロールパネルにログインします。 2。phpmyadminアイコンを見つけてクリックします。 3。MySQL資格情報を入力します。 4.「ログイン」をクリックします。

MySQLはオープンソースのリレーショナルデータベース管理システムであり、主にデータを迅速かつ確実に保存および取得するために使用されます。その実用的な原則には、クライアントリクエスト、クエリ解像度、クエリの実行、返品結果が含まれます。使用法の例には、テーブルの作成、データの挿入とクエリ、および参加操作などの高度な機能が含まれます。一般的なエラーには、SQL構文、データ型、およびアクセス許可、および最適化の提案には、インデックスの使用、最適化されたクエリ、およびテーブルの分割が含まれます。

MySQLは、そのパフォーマンス、信頼性、使いやすさ、コミュニティサポートに選択されています。 1.MYSQLは、複数のデータ型と高度なクエリ操作をサポートし、効率的なデータストレージおよび検索機能を提供します。 2.クライアントサーバーアーキテクチャと複数のストレージエンジンを採用して、トランザクションとクエリの最適化をサポートします。 3.使いやすく、さまざまなオペレーティングシステムとプログラミング言語をサポートしています。 4.強力なコミュニティサポートを提供し、豊富なリソースとソリューションを提供します。

Redisは、単一のスレッドアーキテクチャを使用して、高性能、シンプルさ、一貫性を提供します。 I/Oマルチプレックス、イベントループ、ノンブロッキングI/O、共有メモリを使用して同時性を向上させますが、並行性の制限、単一の障害、および書き込み集約型のワークロードには適していません。

MySQLとSQLは、開発者にとって不可欠なスキルです。 1.MYSQLはオープンソースのリレーショナルデータベース管理システムであり、SQLはデータベースの管理と操作に使用される標準言語です。 2.MYSQLは、効率的なデータストレージと検索機能を介して複数のストレージエンジンをサポートし、SQLは簡単なステートメントを通じて複雑なデータ操作を完了します。 3.使用の例には、条件によるフィルタリングやソートなどの基本的なクエリと高度なクエリが含まれます。 4.一般的なエラーには、SQLステートメントをチェックして説明コマンドを使用することで最適化できる構文エラーとパフォーマンスの問題が含まれます。 5.パフォーマンス最適化手法には、インデックスの使用、フルテーブルスキャンの回避、参加操作の最適化、コードの読み取り可能性の向上が含まれます。

データベースとプログラミングにおけるMySQLの位置は非常に重要です。これは、さまざまなアプリケーションシナリオで広く使用されているオープンソースのリレーショナルデータベース管理システムです。 1)MySQLは、効率的なデータストレージ、組織、および検索機能を提供し、Web、モバイル、およびエンタープライズレベルのシステムをサポートします。 2)クライアントサーバーアーキテクチャを使用し、複数のストレージエンジンとインデックスの最適化をサポートします。 3)基本的な使用には、テーブルの作成とデータの挿入が含まれ、高度な使用法にはマルチテーブル結合と複雑なクエリが含まれます。 4)SQL構文エラーやパフォーマンスの問題などのよくある質問は、説明コマンドとスロークエリログを介してデバッグできます。 5)パフォーマンス最適化方法には、インデックスの合理的な使用、最適化されたクエリ、およびキャッシュの使用が含まれます。ベストプラクティスには、トランザクションと準備された星の使用が含まれます

Redisデータベースの効果的な監視は、最適なパフォーマンスを維持し、潜在的なボトルネックを特定し、システム全体の信頼性を確保するために重要です。 Redis Exporter Serviceは、Prometheusを使用してRedisデータベースを監視するために設計された強力なユーティリティです。 このチュートリアルでは、Redis Exporterサービスの完全なセットアップと構成をガイドし、監視ソリューションをシームレスに構築します。このチュートリアルを研究することにより、完全に動作する監視設定を実現します
