MySQLのマスター・スレーブ構成:マスタースレーブレポート、マスターとスレーブを設定し、マスター・スレーブ同期テスト

MySQLのマスタースレーブプレゼンテーション

(二つのマシンデータ同期)

blob.png

メイン: - >のbinlog

From: - > relaylog

 

 

I / Oスレッドがバイナリログを渡すからとにメインログ・ダンプのスレッドがあり、

 メインスレッドのI / O同期とrelaylogバイナリログを生成するために使用される2つのスレッドが存在するから、SQLステートメントrelaylog床の内部のための別のSQLスレッド(実行)

blob.png

 

メインアプリケーションのシナリオから:

(1)データのバックアップのために、(一次:からデータを読み書き用:リアルタイム同期、マスタがダウンしている場合、サービスがあってもよい場合であっても)

(2)バックアップを行うことです。(クライアントがこのマシンからデータを読み出す(しかし主の圧力を下げる、)から書くことはできません)

 

            準備

1.両方のマシンは、MySQL、MySQLサービスを装備し、開いています

 

 

         配置主

blob.png

所有者:192.1683.136.133から:192.168.136.134

1のmy.cnfを変更し、サーバID = 133を増加させ、log_bin = canshenglinux1

 

blob.png

2.設定ファイルを変更した後、開始またはmysqldのサービスを再起動します

blob.png

 

再起動後、我々は中/データ設定ファイルにファイルの先頭ためlog_bin = canshenglinux1を定義することとなりました/ mysqlのうねりを見つけることができます

blob.png

これらの文書は重要であり、またはマスター・スレーブを達成することはできません

 

3。

MySQLデータベースのバックアップとは、(ライブラリがからのショットを呼び出すために使用されている)テストデータとして、canshengライブラリへのリストア

 mysqldumpを-uroot -p123456 mysqlの> /tmp/mysql.sql

 mysqlの-uroot -p123456 -e「データベースcanshengを作成します」

 mysqlの-uroot -p123456 cansheng </tmp/mysql.sql

 

 

4.同期データとしてユーザーを作成します。

 

(1)第一のMySQLに

 (2)データを同期するユーザを再作成

 *上の助成金のレプリケーションスレーブ*「123456」で識別slave_ip @「REPL」へ。

 

blob.png

blob.png

テーブルで5.ロック:

flush tables with read lock;

(为了同步前数据一致。)

 

show master status (查看一下position和file)

blob.png

(退出mysql)

 

此时查看一下/data/mysql又是什么库

blob.png

(一般同步不要同步mysql库,因为里面有很多用户名和密码)

 

 

6.备份一下所需要同步的库:

mysqldump -uroot -p123456 zrlog > /tmp/zrlog.sql

blob.png

 

                  配置从

 

 

1.查看my.cnf,配置server-id=134,要求和主不一样

blob.png

 

2.修改完配置文件后,启动或者重启mysqld服务

/etc/init.d/mysqld restart

blob.png

 

3.把主上需要同步的库复制过来:

scp 192.168.136.133:/tmp/*.sql /tmp/

blob.png

 

临时创建alias,方便使用命令:

alias 'mysql=/usr/local/mysql/bin/mysql'

alias 'mysqldump=/usr/local/mysql/bin/mysqldump'

 

4.进入mysql

创建相对应的库:

create database cansheng;

create database zrlog;

create database mysql2;

 

5.数据恢复:

mysql -uroot cansheng < /tmp/mysql.sql

blob.png

 

6.进入mysql

(1)stop slave;

(2)change master to master_host='192.168.136.133', master_user='repl', master_password='123456', master_log_fil_log_file='canshenglinux1.000002', master_log_pos=646207;

blob.png

 

blob.png

(3)start slave;

 

(4)マスタからの設定か否かを判断します

blob.png

G \スレーブステータスを表示

blob.png

 

これが成功した2つだけイエスの成功を見えるように構成され失敗しました。

blob.png

失敗した要因:

(1)ファイアウォールsystemctl停止firewalld

 (2)SELinuxを - >閉じるsentenforce 0

(3)ユーザ名が正しいですか

 

{私の要因は主の構成は、一度ゼロから指定されたユーザ名とパスワードエラー開始しているとき}

 

メイン7.戻り、ロックMySQLのテーブル(表)を放出するために進みます。

テーブルのロックを解除します。

blob.png

これは、マスター・スレーブ構成を完了します。

 

 

 

                        マスター・スレーブ同期テスト

blob.png

(これらのパラメータはデフォルトで設定されていないだけマスターにするかの設定のいずれかから、すべてのライブラリを同期させる手動設定、デフォルトはありません)

最後の二つの内を利用する設定から、ライブラリやテーブルを無視して、回避することができ、カスケードクエリはデータの損失を避けるためにするとき、それが見落とさも無視すべきではありません!

 

 



本試験から同期するかどうか、成功しています!

データベースにテスト対象のMySQLへの1.両方のマシン:cansheng2

blob.png

blob.png

 メインテーブルの上にこの時点で空のコメント、空からのデータは、それによって同期するかどうかを確認するために表をコメント。

テーブルのコメントを切り捨てます。

 

blob.png

 

blob.png

 

テーブルのテストをドロップ:

blob.png

blob.png

 

 我々は、このマシンからMySQLの操作に追従できない場合、または当社がメインから切断されます。

(この時点で私たちの位置が変更されたため)

blob.png

この時点で私たちの主から切り離された場合は、再実行する必要があります

 

(1)スレーブを停止します。

(2)= '192.168.136.133'、master_user = 'REPLを' MASTER_HOSTする変更マスタを、master_password = '123456'、master_log_fil_log_file = 'canshenglinux1.000002'、MASTER_LOG_POS = 646207。

blob.png

 

blob.png

(3)スレーブを開始します。

 

(4)マスタからの設定か否かを判断します

 

G \スレーブステータスを表示

 

 

これが成功した2つだけイエスの成功を見えるように構成され失敗しました。

blob.png

おすすめ

転載: www.cnblogs.com/HKROnline-SyncNavigator/p/10972487.html