GNU/Linux >> Linux の 問題 >  >> Cent OS

CentOS 7ノードを使用してMySQLマスタースレーブセットアップをセットアップする方法は?

MySQLマスター/スレーブのセットアップをセットアップするには、以下の手順に従ってください。

これらの手順はテスト済みであり、CentOS7.xノードで機能しています。

従うには、少なくとも2つの計算ノードが必要です。 E2Eパブリッククラウドでオンデマンドでコンピューティングノードを起動できます。詳細については、ここをクリックしてください。

以下のサーバーを想定しましょう。

マスターサーバーIP:192.168.1.1
スレーブサーバーIP:192.168.1.2

ステップ1:マスターサーバーを準備する

#yum -y update

ステップ2:リポジトリを追加する

rpm -ivh http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm 

ステップ3:mysql-server 5.6(安定バージョン)をインストールします

yum -y install mysql-server

ステップ4:MySQLサーバーを起動/停止/再起動します

#systemctl start mysqld
#systemctl stop mysqld
#systemctl restart mysqld
#systemctl status mysqld

ステップ5:MySQLルートパスワードをリセットする

 
#mysql_secure_installation
Enter current password for root (enter for none):
Enter a secure password
Set root password? [Y/n] y
New password:
Re-enter new password:
To Remove anonymous users
Remove anonymous users? [Y/n] y
To disable remote root login
Disallow root login remotely? [Y/n] y
To reload privileges
Reload privilege tables now? [Y/n] y

ステップ6:マスターサーバーでMySQLを構成する

[mysqld]セクションに次のエントリを追加します。

# vim /etc/my.cnf
server-id = 1
log-bin = /var/lib/mysql/mysql-bin
Restart MySQL service
#systemctl restart mysqld

ステップ7:レプリケーションアクセスを作成して許可する

# mysql -u root -p
mysql> GRANT REPLICATION SLAVE ON *.* TO 'slave_user'@'192.168.1.2' IDENTIFIED BY replication-password;
mysql> FLUSH PRIVILEGES;
mysql> \q

ステップ8:すべてのデータベースダンプを画面に表示して、ターミナルセッションが閉じた場合でも、セッションでダンププロセスが実行されるようにします。

#screen -S 
#mysqldump -u root -p --all-databases --master-data > /root/all-databases.sql

Sync the dump to the slave server.
#scp /root/all-databases.sql root@:/root/
Or
#rsync -arvP /root/all-databases.sql root@:/root/

ステップ9:スレーブサーバーを準備する

手順1〜5に従って、スレーブサーバーを構築します。

[mysqld]セクションに次のエントリを追加します。

# vim /etc/my.cnf
server-id = 2

Restart MySQL service
#systemctl restart mysqld

注:server-idは一意である必要があります。

ステップ10:ダンプを復元する

#mysql -u root -p  /root/all-databases.sql

ステップ11:MASTER_LOG_FILEとMASTER_LOG_POSについて理解する

#head -n 30 /root/all-databases.sql | grep MASTER_LOG_FILE
CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=120;

注:ステップ1から5に従って、スレーブサーバーを作成します。

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

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

mysql> CHANGE MASTER TO MASTER_HOST='[192.168.1.1]',
MASTER_USER='['slave_user']',
MASTER_PASSWORD='[replication-password]',
MASTER_LOG_FILE='[file-listed-on-master-status]',
MASTER_LOG_POS=[log-position-listed-on-master-status];

mysql> START SLAVE;

mysql> SHOW SLAVE STATUS\G
The above command will show the complete slave status and verify the Slave_IO_Running and Slave_SQL_Running should be Yes.

Slave_IO_Running: Yes
Slave_SQL_Running: Yes

Cent OS
  1. CentOS8でFirewallDを使用してファイアウォールを設定する方法

  2. CentOS7でPacemakerを使用してNginx高可用性クラスターをセットアップする方法

  3. CentOS/RHEL 7 で udev を使用してカスタム デバイス名を設定する方法

  1. CentOS 7ノードを使用してMySQLマスタースレーブセットアップをセットアップする方法は?

  2. CentOSおよびRedHatでMySQLを使用してPure-FTPDをセットアップする方法

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

  1. CentOS7にMySQLをインストールする方法

  2. MySQLマスタースレーブレプリケーションを設定する方法

  3. CentOS 6.x に MySQL 5.6 をインストールする方法