GNU/Linux >> Linux の 問題 >  >> Linux

RHEL 7でMySQLマスタースレーブレプリケーションをセットアップする方法は?

MySQLレプリケーションプロセスでは、1つのサーバーデータがリアルタイムで別のバックアップサーバーに自動的にコピーされます。データベースレプリケーションは、フォールトトレランスと冗長性を提供します。マスターに障害が発生した場合、データは別のサーバーから回復されます。

以下は、RHEL 7でMySQLマスタースレーブレプリケーションを構成する手順です。これを行うには、異なるIPアドレスを持つ2台のサーバーが必要です。

  1. Yumコマンドを使用して両方のサーバーにMySQLサーバーをダウンロードしてインストールします。

    # wget https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm
    # sudo rpm -ivh mysql57-community-release-el7-9.noarch.rpm # sudo yum install mysql-server
  2. MySQLサーバーをインストールしたら、起動して起動時に起動できるようにします。

    sudo systemctl enable mysqld
    sudo systemctl start mysqld
  3. 以下のコマンドを使用して、一時的なmysqlサーバーのパスワードを確認します。

    # sudo grep 'temporary password' /var/log/mysqld.log
    
  4. 以下のコマンドを実行して、MySQLデータベースを強化または保護します。

    # sudo mysql_secure_installation
    
  5. 手順(3)で取得した一時パスワードを入力し、デフォルトのパスワードを変更します。



  6. 最高のセキュリティを提供するには、すべての回答にyを押します。

ステップ1:マスターサーバーを構成する

  1. お気に入りのエディターを使用してMySQL構成ファイルを開きます。

    # sudo vim /etc/my.cnf
    
  2. mysqldセクションに以下の行を追加します。

    # bind-address = Your Master server IP Address
    server-id = 1
    log_bin =mysql-bin


  3. mysqlサービスを再起動します。

    # sudo systemctl restart mysqld
    
  4. レプリケーションユーザーを作成するには、rootを使用してmysqlサーバーにログインし、パスワードを入力します。

    # sudo mysql -u root -p
    
  5. 以下のコマンドでレプリカユーザーを作成し、スレーブにユーザーへのアクセスを許可します。サーバーのIPアドレスを使用していることを確認してください。

    mysql> CREATE USER 'replica'@'173.248.174.102' IDENTIFIED BY '[email protected]';
    mysql> GRANT REPLICATION SLAVE ON *.*TO 'replica'@'173.248.174.102';


  6. 以下のコマンドを押して、バイナリのファイル名と位置を取得します。

    mysql> SHOW MASTER STATUS\G
    


  7. マスターファイル名mysql-bin.000034とその位置154を書き留める必要があります。

ステップ2:スレーブサーバーを構成する:

  1. お気に入りのエディターを使用してMySQL構成ファイルを開きます。

    sudo vim /etc/my.cnf
    
  2. mysqldセクションに以下の行を追加します。

    bind-address = Your Slave server IP Address
    server-id = 2
    log_bin =mysql-bin
  3. mysqlサービスを再起動します。

    sudo systemctl restart mysqld
    
  4. マスターサーバーから複製するようにスレーブサーバーを構成しましょう。 MySQLサーバーにログインします。

    sudo mysql -u root -p
    mysql> STOP SLAVE;


  5. 以下のクエリを実行して、マスターサーバーを複製するようにスレーブサーバーを構成します。

mysql> CHANGE MASTER TO
    -> MASTER_HOST='173.248.174.101',
    -> MASTER_USER='replica',
    -> MASTER_PASSWORD='[email protected]',
    -> MASTER_LOG_FILE='mysql-bin.000034',
    -> MASTER_LOG_POS=154;

  1. スレーブサーバーを起動します。

    mysql> START SLAVE;
    

ステップ3:MySQLマスター/スレーブレプリケーションをテストします:

マスターサーバーとスレーブサーバーの構成は完了です。次に、両方のサーバーでレプリケーションをテストします。

  1. マスターサーバーに移動し、以下のコマンドを押します。

    sudo mysql -u root -p
    
  2. テストデータベースを作成します。

    mysql> CREATE DATABASE replica_database;
    
  3. スレーブサーバーに移動し、MySQLデータベースサーバーにログインします。

    sudo mysql -u root -p
    
  4. 以下のコマンドを使用してデータベースを一覧表示します。

    mysql> SHOW DATABASES;
    

すべての構成が正しい場合は、マスターで作成されたデータベースが表示されます。これです。 MySQLマスター/スレーブレプリケーションは正常に機能します。


Linux
  1. MySQLマスターをセットアップする方法-マスターレプリケーション

  2. CentOS 7 /RHEL7でNFSサーバーをセットアップする方法

  3. CentOS、RHEL、FedoraでSVNサーバーをセットアップする方法

  1. CentOSでMySQLレプリケーションを設定する方法

  2. CentOSでNTPサーバーをセットアップする方法は?

  3. CentOS/RHEL 7 で squid プロキシ サーバーをセットアップする方法

  1. RHEL8LinuxにMinecraftサーバーをインストールする方法

  2. CentOS 7 /RHEL7でSysLogサーバーをセットアップする方法

  3. Ubuntu18.04でMariaDBマスタースレーブレプリケーションをセットアップする方法