LinuxでのMySQLデュアルシステムホットバックアップ

参考記事:https//blog.csdn.net/silentmuh/article/details/51722454


環境の説明:
1。この環境はUbuntu 18.04、mysql5.7を使用します。2。2
つのサーバーのデータベースバージョンは同じである必要があります。3
。仮想マシンネットワークはブリッジモードである必要があります。

マスターサーバー:192.168.43.1(マスター)
スレーブサーバー:
マスターの下の192.168.43.2(スレーブ)はマスターサーバーを指し、スレーブはスレーブサーバーです

最初のステップは、マスターで接続アカウントを作成し、REPLICATIONSLAVEアクセス許可を付与することです。

注:アカウントには、REPLICATIONSLAVE権限が付与されている必要があります。mysql3.2バージョン以降は、REPLICATIONを介してデュアルシステムのホットバックアップで操作できるためです。

mysql> grant replication slave on *.* to 'master_user'@'192.168.43.2'  identified by  '123456';
mysql> flush privileges; 

ここで、master_userは新しいユーザー名、123456はパスワード、192.168.43.2はスレーブのIPです。意味:master_userユーザーを作成し、レプリケーションスレーブの権限を付与します。


mysqlがバージョン8.0の場合、次のステートメントを使用して作成できます。

mysql> CREATE USER 'master_user'@'192.168.43.2' IDENTIFIED BY '123456';
mysql> GRANT replication slave ON *.* TO 'master_user'@'192.168.43.2' WITH GRANT OPTION;
mysql> flush privileges; 

注:mysql8のセキュリティパフォーマンスが改善されました。最初にユーザーを作成してから、アクセス許可を付与する必要があります。同時に操作することはできません


作成が完了したら、スレーブに次のコマンドを入力してデータベースを起動できます

mysqL -h 192.168.43.1 -u master_user -p

起動に成功した場合は、接続できることを意味します。(ここで失敗する可能性があります。次のようなエラーが表示されます:「192.168.43.1」(111)でMySQLサーバーに接続できません。mysql構成ファイルで#bind-address = 127.0.0.1にコメントできます。)


2番目のステップは、構成ファイルを変更することです

マスター構成ファイル/etc/mysql/mysql.conf.d/mysqld.cnfを変更します

これらのパラメータは[mysqld]の下にあり、その前の#を削除します。

server_id = 1
log-bin = mysql-bin
binlog-do-db = testdb
binlog-ignore-db = mysql

注:binlog-do-dbは、同期するデータベースです(複数のデータベースを同期する必要があると言われていますが、コンマまたはスペースで2つのデータを分離する従来の方法ではなく、binlog-do-dbが再度書き込むようです)。 、binlog-ignore -dbは、同期する必要のないデータベースです(同期されていないデータが複数ある場合は、binlog-do-dbと同じであり、binlog-ignore-dbも同じです)。このbinlog-ignore-dbはコメントを開くことができません


スレーブ構成ファイル/etc/mysql/mysql.conf.d/mysqld.cnfを変更します

server_id = 2
log-bin = mysql-bin
binlog-do-db = testdb
binlog-ignore-db = mysql

マスターサーバーのserver_idとスレーブサーバーのserver_idを同じにすることはできません


3番目のステップは、マスターサーバーのマスターステータスを確認することです。

メインサーバーの下のデータベースにログインします

mysql -uroot -p

mysqlを入力した後、次のコマンドを使用してマスターステータスを表示します。

mysql> show master status\G;

結果を図に示し
ここに画像の説明を挿入
ます。スレーブサーバーを構成するときに必要なファイルと位置をここで覚えておいてください。


4番目のステップは、サーバーデータベースからログインして構成することです。

スレーブサーバーのデータベースにログインします

mysql -uroot -p

注:これはrootユーザーであり、上記で作成したユーザーではありません

mysql>スレーブを停止します。

mysql>マスターをmaster_host = '192.168.43.1'、master_user = 'master_user'、master_password = '123456'、master_log_file = 'mysql-bin.000017'、master_log_pos = 154に変更します。

注:
1。スレーブサービススレッドを最初に停止する必要があります。これは非常に重要です。停止しないと、次の操作が失敗します。
2. master_hostは、マスターサーバーのIPアドレスです。master_userは、最初のステップで作成した接続アカウントのユーザー名であり、master_passwordはパスワードです。master_log_fileは、3番目のステップのマスターサーバーデータベースのマスター状態のファイルです。master_log_posは、マスターサーバーデータベースのマスターステータス位置です。最後に、スレーブサービススレッドmysql> startslaveを開始します。


スレーブサーバーのスレーブステータスを表示する

mysql> SHOW SLAVE STATUS\G;

次の2つのことを見たときの項目は両方ともそうです、それは設定が成功したことを意味
ここに画像の説明を挿入
はい:Slave_IO_Running
Slave_SQL_Running:はい

次に、マスターデータベースにデータを追加し、スレーブデータベースも利用できるかどうかを確認します。

おすすめ

転載: blog.csdn.net/lendsomething/article/details/108978656