メインライブラリの構成 1. MySQLを設定する vim /etc/my.cn # ファイルに次の内容を追加します server-id=1 # サーバー ID が一意であることを確認します log-bin = /var/lib/mysql/mysql-bin.log binlog-do-db = db1 binlog-do-db = db2 このうち、db1 と db2 はマスタースレーブレプリケーションを予定しているライブラリです。複数ある場合は複数行記述するだけです。設定後、データベースを再起動します: 2. レプリケーションユーザーを追加する phpmyadmin を使用して、新しいユーザーを追加し、REPLICATION SLAVE 権限を付与します。または、root ユーザーとして mysql にログインし、権限を付与します。 'password' で識別される 'repl'@'%' に *.* のレプリケーション スレーブを許可します ここで、repl はユーザー名、password はそのユーザーのパスワードです。 3. データをダンプする 新しいデータが生成されないことを保証できる場合は、データベースをロックする必要はありません。これを保証できない場合は、ダンプ データごとにデータベースをロックする必要があります。 db1 を使用します。 読み取りロック付きでテーブルをフラッシュします。 次にデータをダンプします。 mysqldump -uroot -p db1 > db1.sql データベースが複数ある場合は、上記のプロセスを複数回繰り返します。 4. バイナリファイルの場所を確認する MySQL に root としてログインし、マスターのステータスを確認します。 マスターステータスを表示します。 このコマンドは、次の形式に似た出力を生成します。 +-----------------+-----------+----------------+------------------+ | ファイル | 位置 | Binlog_Do_DB | Binlog_Ignore_DB | +-----------------+-----------+----------------+------------------+ | mysql-bin.00002 | 445 | db1、db2 | | +-----------------+-----------+----------------+------------------+ セット内の 1 行 (0.00 秒) 5. ロック解除 エクスポート数が 1 で、データベースが読み取りロックされている場合は、それを解除する必要があります。 db1 を使用します。 テーブルのロックを解除します。 この時点で、メイン データベースの構成は完了です。特に、 ライブラリからの設定 1. 新しいデータベースを作成する まず、スレーブ ライブラリに同じ名前のデータベースを作成します。 2. スレーブデータベースを構成する vim /etc/my.cnf # my.cnf に次の内容を追加します。 server-id = 2 # ID が一意であることを確認してください relay-log = /var/lib/mysql/mysql-relay-bin.log 複製ワイルドドゥテーブル = db1.% 複製ワイルドドゥテーブル = db2.% 複数のデータベースを同期する場合、replicate-wild-do-table は複数行を書き込む必要があります。設定後、データベースを再起動します。 3. データのインポート マスター サーバーからダンプされたデータをスレーブ サーバーにインポートします。 mysql -uroot -p db1 < db1.sql 4. マスタースレーブ同期を構成する MySQL サーバーにログインし、同期されたマスター サーバー情報を設定します。 > マスターをmaster_host='xxx.xxx.xx.xx'に変更します。 > マスターユーザー='repl', > master_password='パスワード', > マスターログファイル='mysql-bin.00000x', > マスターログ位置 = xxxx; 設定後、マスターとスレーブの同期を開始します: テスト マスターデータベースへの新規レコードの追加やテーブルの追加などの操作は、ほぼリアルタイムでスレーブデータベースに反映されます。 上記は、MySQL マスタースレーブレプリケーション構成プロセスの詳細です。MySQL マスタースレーブレプリケーション構成の詳細については、123WORDPRESS.COM の他の関連記事に注目してください。 以下もご興味があるかもしれません:
|
<<: Zabbix でフィルターを使用して監視を実装する方法
>>: Vue3 カプセル化された虫眼鏡コンポーネントのサンプルコード
WeChatアプレットプロジェクトでは、開発モジュールに手書き署名機能が含まれ、WeChatアプレッ...
インデックスの2つの主要なカテゴリ使用されるストレージエンジン: MySQL 5.7 InnoDBク...
g++ を使用して初めて cpp ファイルをコンパイルしたとき、未定義の参照エラーが報告されました。...
今日は春節の金貨の赤い封筒のアクティビティを作りました。なかなか良い出来だと思います。皆さんと共有し...
目次チェーン呼び出し小さなケースチェーン呼び出しjQuery オブジェクトが任意のメソッド (ノード...
目次どうしたの?いつ使うか列挙の数を制御するビット値コントロールインデックス非数値列挙結論はType...
私は CentOS に実装された LDAP ユーザー管理を使用しています。これはインターネット上のほ...
本日のプロジェクト最適化中に、MySQL に問題が発生しました: 定義者として指定されたユーザー (...
1. transform 属性を使用して、画像を拡大せずに表示します (パスの問題は必要に応じて修正...
1. ダウンロードアドレスhttps://dev.mysql.com/downloads/mysql...
序文私はプログラマーとしてスタートした PHP プログラマーです。これまで、トレーニング コースで勉...
このタグはHTML3.2の一部ではなく、MSIE3以降のカーネルのみをサポートしています。そのため、...
目次1. copy_{to,from}_user() とは何か1. copy_{to,from}_u...
目次概要Vuex の 4 つの主要オブジェクト状態の使用突然変異の使用ゲッターの使用アクションの使用...
HTML と CSS は誰もが知っていると思います。HTML の構造と CSS の表現の分離も知って...