MySQL の読み取り/書き込み分離の構成チュートリアル

MySQL の読み取りと書き込みの分離の構成は、一般的なデータベース アーキテクチャの方法であり、読み取りリクエストと書き込みリクエストを異なる MySQL インスタンスに分散して、データベースのパフォーマンスとスケーラビリティを向上させることができます。ユーザーフレンドリーなステップバイステップガイドは次のとおりです。

  1. マスター データベース (マスター) と少なくとも 1 つのスレーブ データベース (スレーブ) をデプロイします。すべてのデータベース インスタンスに MySQL がインストールされ、適切に実行されていることを確認してください。
  2. プライマリ データベースで構成を変更します。MySQL 構成ファイル (通常は my.cnf) を編集し、次の行を見つけて、それに応じて変更します。

    server-id = 1
    log_bin = /var/log/mysql/mysql-bin.log
    binlog_do_db = your_database_name

    これらの構成では、バイナリ ログ (バイナリ ログ) が有効になり、レプリケートされるデータベースが指定されます。

  3. 構成の変更を有効にするには、マスター データベースを再起動します。

    sudo service mysql restart
  4. スレーブ データベースで構成を変更します。MySQL 構成ファイルを編集し、次の行を見つけて、それに応じて変更します。

    server-id = 2
    relay_log = /var/log/mysql/mysql-relay-bin.log
    read_only = 1

    これらの構成により、リレー ログが有効になり、スレーブ データベースが読み取り専用モードに設定されます。

  5. 構成の変更を有効にするには、スレーブ データベースを再起動します。

    sudo service mysql restart
  6. master データベース上でレプリケーション用の MySQL ユーザーを作成し、そのユーザーにレプリケーション権限を付与します。

    CREATE USER 'replication_user'@'slave_ip_address' IDENTIFIED BY 'password';
    GRANT REPLICATION SLAVE ON *.* TO 'replication_user'@'slave_ip_address';
    FLUSH PRIVILEGES;

    slave_ip_addressスレーブ データベースの IP アドレスpasswordとユーザーのパスワードに置き換えられます 。

  7. スレーブ データベースでレプリケーションを構成します。スレーブ データベースの MySQL インスタンスに接続し、次のコマンドを実行します。

    STOP SLAVE;
    CHANGE MASTER TO MASTER_HOST='master_ip_address', MASTER_USER='replication_user', MASTER_PASSWORD='password';
    START SLAVE;

    master_ip_addressプライマリ データベースの IP アドレスをpasswordレプリケーション ユーザーのパスワードに置き換えます 。

  8. スレーブ データベースがマスター データベースに正常に接続されていることを確認し、レプリケーションを開始します。レプリケーションのステータスは、次のコマンドで確認できます。

    SHOW SLAVE STATUS\G

上記の手順により、MySQL の読み取りと書き込みの分離を構成できます。この時点で、書き込みリクエストをマスター データベースに送信し、読み取りリクエストを任意のスレーブ データベースに送信できるため、マスター データベースの負荷が分散され、データベースのパフォーマンスとスケーラビリティが向上します。構成中は機密情報 (パスワードなど) に注意し、DB インスタンス間のネットワーク接続とセキュリティ設定が正しいことを確認してください。

おすすめ

転載: blog.csdn.net/tiansyun/article/details/132126885