このチュートリアルでは、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 -p9。 MySQLサーバーの構成
ユーザーrootとしてMySQLにログインし、スレーブを停止して、「マスターログファイル」を探す場所を設定します
mysql -u root -pmysql> 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