マスターとスレーブの同期プロセス (原則):
マスター
バイナリ ログ ファイル (バイナリ ログ)、つまり、構成ファイルの log-bin で指定されたファイルへの変更を記録します。これらのレコードは、バイナリ ログ イベントと呼ばれます。
マスター
バイナリ ログ ファイルをスレーブに送信します;
スレーブ
I/O スレッドを通じてファイルの内容を読み取り、リレーに書き込みますlog;
slave
リレー ログ内のイベントを実行して、データのローカル ストレージを完了します。
マスター/スレーブ サーバーを設定する際の注意事項:
マスター/スレーブ サーバーのオペレーティング システムのバージョン桁数が同じです;
Master
と Slave
データベースのバージョンは一貫している必要があります;
マスター設定 (my.cnf) を変更し、次の内容:
[mysqld] log-bin=mysql-bin # id 必须唯一!!! server-id=1
マスターの再起動:
systemctl restart mysql
マスターでマスター/スレーブ同期用のユーザーを作成:
mysql> # 创建用户 mysql> CREATE USER 'hugh'@'%' IDENTIFIED WITH mysql_native_password BY '123456'; mysql> # 授权用户 mysql> GRANT REPLICATION SLAVE ON *.* TO 'hugh'@'%'; mysql> # 刷新权限 mysql> FLUSH PRIVILEGES;
メイン サーバーのステータスを確認します:
show master status;使用される
File と
Position の値を記録します。後で。
スレーブ構成 (my.cnf) を変更し、次の内容を追加します:
[mysqld] # id 必须唯一!!! server-id=2
スレーブを再起動します。
systemctl restart mysql
MySQL にログインし、次のコマンドを実行してマスター ノードのパラメーターを設定します。
mysql> CHANGE MASTER TO MASTER_HOST='master的IP地址', MASTER_USER='hugh', MASTER_PASSWORD='123456', MASTER_LOG_FILE='binlog.000006', MASTER_LOG_POS=856;最後の 2 行は、記録したものです
ファイル と
Position の値。
マスター/スレーブ同期のステータスを確認します:
mysql> show slave status\G;
次の情報を確認します。すべてが「はい」の場合、構築は成功したことを意味します: えー
以上がMySQL でマスター/スレーブ同期操作を設定する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。