ホームページ  >  記事  >  データベース  >  MySQL でマスター/スレーブ同期操作を設定する方法

MySQL でマスター/スレーブ同期操作を設定する方法

PHPz
PHPz転載
2023-05-27 18:43:121615ブラウズ

1. MySQL 8.0 マスターとスレーブの同期

マスターとスレーブの同期プロセス (原則):

  • マスター バイナリ ログ ファイル (バイナリ ログ)、つまり、構成ファイルの log-bin で指定されたファイルへの変更を記録します。これらのレコードは、バイナリ ログ イベントと呼ばれます。

  • マスター バイナリ ログ ファイルをスレーブに送信します;

  • スレーブ I/O スレッドを通じてファイルの内容を読み取り、リレーに書き込みますlog;

  • slave リレー ログ内のイベントを実行して、データのローカル ストレージを完了します。

マスター/スレーブ サーバーを設定する際の注意事項:

  • マスター/スレーブ サーバーのオペレーティング システムのバージョン桁数が同じです;

  • MasterSlave データベースのバージョンは一貫している必要があります;

  • #マスター データベースとスレーブ データベースのバージョン データは一貫している必要があります。

  • マスターではバイナリ ログが有効であり、マスターとスレーブの server_id は LAN 内で一意である必要があります。

2. MySQL マスター/スレーブのセットアップ

2.1 マスターでの操作

マスター設定 (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;

使用される

FilePosition の値を記録します。後で。

2.2 スレーブでの操作

スレーブ構成 (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 サイトの他の関連記事を参照してください。

声明:
この記事はyisu.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。