1. 現実的な背景ホストは 4 台あり、いずれもデータを自動的に収集して MySQL データベースに保存できます。また、データ処理専用の高構成のメイン サーバーがもう 1 台あります。これら 5 台のマシンは、同じネットワーク セグメント内に存在しないことがよくありますが、同じネットワーク セグメント内に存在すると、データ収集に使用される 4 台のホストがメイン サーバーからデータを自動的に収集できるようになることが期待されており、この目的のために環境が構成されています。 2. 合意
3. マスターを構成する3.1. 起動パラメータの設定マスターが複数ある場合は、サーバー ID が一貫していないことを確認し、残りは必要に応じて構成するだけです。 [mysqld] # サーバー識別子。各サーバー識別子が異なることを確認してください。server-id = 1000 # マスターマシンではlog_binが有効になっている必要があります # mysql-bin はカスタム名であり、mysql-bin.index、mysql-bin.000001 などのファイルが生成されます。log_bin=mysql-bin # バイナリログの有効期限(単位:日)、デフォルト値は0、つまり期限切れにならない expire_logs_days = 0 # エラーログ log-error=/var/lib/mysql/mysql-error.log # 単一の log_bin ファイルの最大値。最大値に達すると、新しく作成されたファイルのサフィックスは自動的に増加します (例: mysql-bin.000002)。 最大バイナリログサイズ = 100M #mysql インストールパス basedir=/var/lib/mysql #mysql データパス datadir=/var/lib/mysql # マスターが操作を記録するデータベースはbinlog_do_db=replicationです # マスターによって無視されたデータベース binlog_ignore_db=information_schema binlog_ignore_db=パフォーマンススキーマ binlog_ignore_db=システム binlog_ignore_db = mysql # バイナリログ保存モード binlog_format=MIXED # BLOB タイプの最大ストレージ値 (単位: バイト、B) # 1048576 B = 1MB 最大許容パケット数=1048576 # パスワードの複雑さの設定、プラグインが必要 # パスワードの長さは少なくとも 0 である必要があります # 検証パスワードの長さ=8 # 大文字と小文字の最小数 # valid_password_mixed_case_count=1 # パスワードの数字の最小数# valid_password_number_count=1 # パスワード内の特殊文字の最小数 # validate_password_special_char_count=1 innodb_flush_log_at_trx_commit=0 [mysql] デフォルトの文字セット=utf8mb4 [クライアント] デフォルトの文字セット=utf8mb4 3.2. パラメータを有効にするためにサービスを再起動する3.3. ルートとしてログインし、ユーザーを作成し、パスワードを割り当て、承認し、権限を更新するユーザーレプリケーションを作成し、パスワードを割り当てます。 'JINGhuaSHUIyue123,.' によって mysql_native_password で識別されるユーザー 'replication'@'%' を作成します。 ユーザーの作成に失敗した場合、そのユーザーがすでに存在している可能性があります。重要でない場合は、ユーザーを削除できます。 ユーザー 'replication'@'%' を削除します。 ユーザーを削除して再構築するのではなく、パスワードのみを変更する場合: 'JINGhuaSHUIyue123,.' によって mysql_native_password で識別されたユーザー 'replication'@'%' を変更します。 ユーザーにレプリケーションスレーブ権限を付与します。 *.* のレプリケーションスレーブを 'replication'@'%' に付与します。 レプリケーション スレーブの権限がすぐに有効になっていることを確認し、権限を更新します。 権限をフラッシュします。 4. スレーブサーバーを構成する4.1. 起動パラメータの設定[mysqld] # サーバー識別子。各サーバー識別子が異なることを確認してください。server-id = 2000 #mysql インストールパス basedir=D:\mysql #mysql データパス datadir=D:\mysql\data # スレーブ複製データベース replicate_do_db=test # スレーブによって無視されるデータベース replicate_ignore_db=information_schema replicate_ignore_db=パフォーマンススキーマ レプリケート_ignore_db=mysql 複製無視db=sys # スレーブネットワークタイムアウト再接続間隔(単位:秒) スレーブ_ネット_タイムアウト=60 [mysql] デフォルトの文字セット=utf8 [クライアント] デフォルトの文字セット=utf8 4.2. パラメータを有効にするためにサービスを再起動する5. 複数のマスターと1つのスレーブを構成する5.1. マスターステータスを確認するroot として master1 にログインし、ファイルと位置に注意してください。 マスターステータスを表示します。 +------------------+----------+--------------+-------------------------------------------------+-------------------+ | ファイル | 位置 | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set | +------------------+----------+--------------+-------------------------------------------------+-------------------+ | mysql-bin.000006 | 155 | テスト | information_schema、performance_schema、sys、mysql | | +------------------+----------+--------------+-------------------------------------------------+-------------------+ root として master1 にログインし、ファイルと位置に注意してください。 マスターステータスを表示します。 +------------------+----------+--------------+-------------------------------------------------+-------------------+ | ファイル | 位置 | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set | +------------------+----------+--------------+-------------------------------------------------+-------------------+ | mysql-bin.000005 | 155 | テスト | information_schema、performance_schema、sys、mysql | | +------------------+----------+--------------+-------------------------------------------------+-------------------+ 注: MySQL を起動すると新しい log-bin が強制的に生成されるため、場所は 155 になります。 5.2. スレーブ・マスター関係の設定他に残っている構成があるかどうかを確認します。 スレーブステータスを表示\G; スレーブを停止し、残りの構成をクリアします。 奴隷を停止します。 すべてのスレーブをリセットします。 マスター1のファイルと位置に応じてレプリケーションチャネル「master1」を設定します。 マスターを変更する マスターホスト = '112.124.1.100'、 master_user = 'レプリケーション'、 マスターポート = 3306、 master_password = 'レプリケーション'、 マスターログファイル = 'mysql-bin.000006'、 マスターログ位置 = 155、 マスター接続再試行 = 15、 マスター再試行回数 = 0 チャネル 'master1' の場合; マスター2のファイルと位置に応じてレプリケーションチャネル「マスター2」を設定します。 マスターを変更する マスターホスト = '192.168.1.139'、 master_user = 'レプリケーション'、 マスターポート = 3306、 マスターパスワード = 'JINGhuaSHUIyue123,.', マスターログファイル = 'mysql-bin.000005'、 マスターログ位置 = 155、 マスター接続再試行 = 15、 マスター再試行回数 = 0 チャネル 'master2' の場合;
5.3. テーブルを準備する開始する前に、3 台のマシンのデータベースで DDL ステートメントを使用してテーブル構造を定義し、マスター スレーブ レプリケーションの前に一貫性を確保するためにテーブル構造の一貫性を維持してください。そうしないと、エラーが発生します。 5.4. スレーブを起動し、スレーブの状態を確認するチャネル 'master1' のスレーブを開始します。 チャネル 'master2' のスレーブを開始します。 スレーブステータスを表示\G; 成功を示すには、Slave_IO_Running と Slave_Slave_Running の両方に Yes が表示される必要があることに注意してください。それ以外の場合は、エラー プロンプトに注意してください。 これで、MySQL 8.0.18 で複数のマスターと 1 つのスレーブを構成する方法についての説明は終了です。MySQL の複数のマスターと 1 つのスレーブの詳細については、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: Windows 上の Docker にさまざまなソフトウェアをインストールする詳細なプロセス
>>: HTML の基本的な使用法には、リンク、スタイルシート、span、div などが含まれます。
目次グローバルオブジェクトグローバルオブジェクトとグローバル変数プロセスコンソール一般的なツールユー...
img 画像タグに alt 属性を追加しますか?画像 img タグの alt 属性を見落とすことはよ...
多くのアプリやウェブサイトでは、ログインやアカウント登録の際にSMS認証コード1を送信する場所があり...
この記事では、Fedora 28 に i3 をインストールして簡単に設定する方法を説明します。 1....
復帰文字 ( Ctrl+M ) に不安を感じても心配しないでください。それらを排除する簡単な方法がい...
開発中、MySQL へのリモートアクセスでよく問題に遭遇します。そのたびに検索する必要があり、面倒に...
公式サイトからMySQL-5.7.11-winx64の圧縮版をダウンロード。インストール後、パスワー...
固定サイドバーを実装するにはJavaScriptを使用します。参考までに、具体的な内容は次のとおりで...
状況は以下のとおりです: (PS: 赤いボックスは iframe 領域を表し、灰色の四角形は上記の ...
序文簡単に言えば、tcpdump は、ネットワーク上のトラフィックをダンプし、ユーザーの定義に従って...
コンポジション継承組み合わせ継承は、疑似古典的継承とも呼ばれます。これは、昨日説明したプロトタイプ ...
指定したサイズより大きいファイルを検索するには、find コマンドを使用します。 検索 / -typ...
<em></em> などのフレーズ要素を使用すると、意図した視覚スタイルを維...
MySQL 8.0圧縮パッケージのインストール方法、詳細は次のとおりです知らせ:オペレーティング シ...
まず、MySQL とは何かを簡単に紹介します。簡単に言えば、データベースはデータを格納するための倉庫...