ホームページ >データベース >mysql チュートリアル >MYSQL 学習のまとめ (5): MYSQL のマスター/スレーブのセットアップ
テストマシン: マスター 192.168.1.71 スレーブ 192.168.1.74
ステップ 1: マスター データベースでアカウントを生成し、スレーブ データベースに権限を付与します (上記の MYSQL 認証を参照)
ステップ 2: メイン構成ファイルを変更します
Server-id = 1 / /メインデータベース id-binlog-DO-DB = DB1 // ライブラリ 1 を同期する必要があります
binlog-db = db2 // 同期ライブラリ 2 が必要です
log-bin = mysql-bin // ステップ: マスターサーバーを再起動します
ステップ 4: マスター サーバーで読み取りロックを使用してテーブルのフラッシュを実行します。
ステップ 5: マスター サーバーで show master status を実行します。
ステップ 6: マスターを取得する方法は現在 2 つあります。スナップショットを作成するには、tar を使用して直接パッケージ化する方法と、mysqldump を使用してスレーブ ライブラリの対応するデータ ディレクトリにコピーする方法があります。しかし、lvm は非常に高速で便利だと聞きましたが、学ぶべき適切な情報が見つかりませんでした。
ステップ 7: マスター ライブラリのロックを解除し、テーブルをロック解除します。
ステップ 8: スレーブ ライブラリ構成ファイルを変更します。
Server-id = 2 //マスターとの重複を避けるためのスレーブ サーバー ID
Log-slave-updates // スレーブ サーバーの SQL プロセス更新されたデータは独自のバイナリログに書き込まれます
マスターコネクトリトリー= 60 //スレーブが切断されたら、60秒後に再びマスターに接続します
ステップ9:スレーブライブラリでの同期をMaster_Host = '192.168に設定します。 1.71',master_user='最初のステップで生成されたユーザー',master_password='最初のステップで生成されたパスワード',master_log_file='mysql-bin.000062',master_log_pos=316406;
ステップ 10: ライブラリ SLAVE START から開始し、図に示すように、ライブラリの SLOW SLAVE STATUSG の統計を確認します。
slave_io_running、slave_sql_running が「yes」、つまりメインストーフィック通信が正常であることを観察することに注意してください。 Seconds_Behind_Master は 0 で、マスターとスレーブの同期遅延ステータスが良好であることを示します。
注: マスター/スレーブのレプリケーションは、マスターのダンプ スレッド、スレーブの IO スレッドおよび SQL スレッドを通じて実装されます。 MYSQL にログインし、show processlist を使用してスレッドのステータスを確認できます。スレーブ IO スレッドはバイナリ ログをマスター サーバーにプルし、それを独自のリレー ログ (つまり Relay_log_File) に書き込みます。次に、スレーブ SQL スレッドがリレー ログを読み取り、SQL ステートメントと操作をローカル データベースに書き込みます。
MYSQL マスター/スレーブ操作に関するよくある質問:
1. マスター サーバーとスレーブ サーバーの両方の MYSQL が正常に実行されていること、およびバイナリ ログが開いていることを確認します。そこからレプリケーション アカウントを使用してメイン ライブラリにアクセスできます。 2. 上記の IO スレッドで NO が表示されたら、スレーブ io_thread を開始します。 3. 上記で、SQL スレッドで NO が表示されたら、この操作を手動で変更するか、直接スキップする必要があります。この操作をスキップするには、SET GLOBAL SQL_slave_SKIP_COUNTER = 1; その後、スレーブを開始します。
4. 再びマスター/スレーブになるには、スレーブ データベースの master.info、relay-log.info を削除する必要があります。 5. マスターサーバーがハングしたり、パフォーマンスが低下した場合は、上位のスレーブサーバーを使用します (スレーブが同期されていることを確認してください) マスターサーバーに送信されたすべてのデータは、マスターのステータスで pos とファイルを確認し、判断することで判断できます。スレーブのステータスで Master_log_File、Read_Master_log_pos、Relay_Master_log_file、Exec_Master_log_Pos を実行する必要があります):
スレーブ IO_thread を停止する;
master.info を同時に削除する;
スレーブ MYSQL を再起動する
上記は、MYSQL 学習の概要 (5): MYSQL マスター/スレーブ構築の内容です。その他の関連コンテンツについては、PHP 中国語 Web サイト (www.php .cn) に注目してください。