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

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

このチュートリアルでは、2台のCentOS 7サーバーで基本的なMySQLレプリケーションをセットアップする方法を示しますが、同じ手順がすべてのRPMベースのシステムで機能するはずです。このチュートリアルでは、次のIPアドレスを持つ2つのテストCentOS7仮想サーバーを使用します。


マスター: 123.456.789.1
スレーブ: 123.456.789.2

マスターサーバー:

1。 SSH経由でログイン

ユーザーrootとしてマスターサーバーにログインします

 ssh root @ IP_Address 

2。 MySQLサーバーをインストールする

MySQLサーバーがまだインストールされていない場合はインストールします

 yum install mysql-server mysql 

3。 MySQLサーバーを起動します

MySQLサーバーを起動し、起動時に起動できるようにします

 systemctl start mysqlsystemctl enable mysql 

4。 MySQLサーバーを構成する

次に、テキストエディタでMySQL構成ファイルを開き、次の行を追加します

 vi /etc/my.cnf 
 server-id =1binlog-do-db =databaserelay-log =mysql-relay-binrelay-log-index =mysql-relay-bin.indexlog-bin =mysql-bin 

データベース」を置き換えることを忘れないでください ‘スレーブサーバーに複製するデータベースの実際の名前。

5。 MySQLサーバーを再起動します

構成ファイルを保存し、MySQLサーバーを再起動して変更を有効にします

 systemctl restart mysql 

6。スレーブサーバー用のMySQLユーザーを作成し、構成します

ユーザーrootとしてMySQLサーバーにログインし、スレーブが使用するユーザーを作成します

 mysql -u root -p 
 mysql> GRANT REPLICATION SLAVEON*。*TO'slaveuser'@'%' IDENTIFIED BY'PASSWORD' mysql> FLUSH PRIVILEGES; mysql> FLUSH TABLES WITH READ LOCK; mysql> SHOW MASTER STATUS; mysql> SHOW MASTER STATUS; + ------------------ + ---------- + -------------- + ---- -------------- + |ファイル|位置| Binlog_Do_DB | Binlog_Ignore_DB | + ------------------ + ---------- + -------------- +- ---------------- + | mysql-bin.000001 | 245 |データベース| | + ------------------ + ---------- + -------------- + --- ---------------セット内の+1行(0.00秒)mysql> exit 

スレーブサーバーに使用されるマスターの座標が必要になるので、それらを書き留めます。

ファイル: mysql-bin.000001
位置: 245

パスワード」を置き換えます ‘実際の強力なパスワードを使用します。

ここで、複製するデータベースが空でない場合は、データベースからダンプを作成します

 mysqldump -u root -p --master-data database> /root/database.sql

ダンプファイルをスレーブサーバーに転送します

 rsync -Waq -e ssh /root/database.sql 123.456.789.2:/ root 

スレーブサーバー:

7。 SSH経由でログインし、MySQLサーバーをスレーブサーバーにインストールします

次のステップは、スレーブサーバーを構成することです。ユーザーrootとしてSSH経由でスレーブサーバーにログインし、マスターサーバーで行ったようにMySQLサーバーをインストールします。

MySQLサーバーをインストールして起動したら、その構成ファイルを開き、次の行を追加します。

 vi /etc/my.cnf 
 server-id =2master-host =123.456.789.1master-connect-retry =60master-user =slaveusermaster-password =PASSWORDreplicate-do-db =databaserelay-log =mysql-relay-binlog-bin =mysql-bin 

8。 MySQLサーバーを再起動します

ファイルを保存し、MySQLサーバーを再起動して、変更を有効にします。

 systemctl restart mysql 

マスターサーバーで作成したMySQLダンプファイルをインポートします

 mysql -u root -p  

9。 MySQLサーバーの構成

ユーザーrootとしてMySQLにログインし、スレーブを停止して、「マスターログファイル」を探す場所を設定します

 mysql -u root -p 
 mysql> slave stop; mysql> CHANGE MASTER TO MASTER_HOST ='123.456.789.1'、MASTER_USER ='slaveuser'、MASTER_PASSWORD ='PASSWORD'、MASTER_LOG_FILE ='mysql-bin.000001'、MASTER_LOG_POS =245; mysql> slave開始;

マスターサーバーで作成したMySQLのユーザー名とパスワードを使用します。

次のMySQLコマンドを実行して、スレーブのステータスを確認できます。

 mysql> show slave status; 
***************************1.行***************** ********** Slave_IO_State:マスターがイベントを送信するのを待機していますMaster_Host:123.456.789.1 Master_User:slaveuser Master_Port:3306 Master_Log_File:mysql-bin.000001 Slave_IO_Running:はいSlave_SQL_Running:はいReplicate_Do_DB:データベース

Slave_IO_State ‘は「マスターがイベントを送信するのを待っています」と報告し、レプリケーションは成功しました。

以上です。とても簡単です。レプリケーションマスター構成のセットアップ方法の詳細が必要な場合は、MySQLの公式Webサイトで見つけることができます。

もちろん、MySQLホスティングサービスのいずれかを使用している場合は、CentOSでMySQLレプリケーションを設定する必要はありません。その場合は、専門のLinux管理者にCentOSでMySQLレプリケーションを設定するよう依頼するだけです。彼らは24時間年中無休で利用可能であり、あなたの要求をすぐに処理します。 CentOS7にMySQLをインストールする方法で新しいアップデートを確認することもできます。

PS。 CentOSでMySQLレプリケーションを設定する方法に関するこの投稿が気に入った場合は、左側のボタンを使用してソーシャルネットワーク上の友達と共有するか、下に返信を残してください。ありがとう。


Cent OS
  1. CentOSでSFTPサーバーをセットアップする方法

  2. CentOS8にMySQL8データベースサーバーをインストールする方法

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

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

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

  3. CentOSでMySQLサーバーを完全に削除する方法

  1. CentOSにMySQLデータベースサーバーをインストールする方法

  2. CentOS7にMySQLサーバーをインストールする方法

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