知識、仕上げ作業のMySQLのマスタースレーブのレプリケーション

MySQLのユーザー認証

1.ログmysqlデータベース
のMySQL> MySQLの-uルート-p 789 123 

サーバーから許可されたユーザ設定するには2、
MySQLの>グラントすべては"パスワード"で[email protected]にON * * IDENTIFIED ;. 
MySQLの>グラントスレーブ複製ON *を。 「パスワード」で識別* [email protected]; 

注:マスターサーバーにサーバーからのデータを同期させるために、あなたは、これにより、サーバからプライマリサーバに接続するために、そう、ということ、サーバーからユーザーを設定し、IPサーバから指定する必要が前提条件である、データの同期、!

図3は、ユーザーの許可テーブルビュー
、ユーザー、ホスト、パスワードを選択> MySQLを mysql.userのから

注意:認証が成功した場合、我々は結果セットから許可されたユーザ、および対応するIPが表示されるはずです。

MySQLのビンログログ

1、オープンMySQLのビンログログ
Viにな/etc/my.cnf 
[mysqldを] 
= 3306ポート、
ソケット= /var/lb/mysql/mysql.block 
ログSLOW-クエリ= MySQLの-slow.log 
対数誤差=のMySQL .ERR 
ログ= mysql.log 
ログビン= mysqlの-ビン

注:[ログ・ビン= mysqlのビン]がある上に保存されたら、再起動のMySQL、ビン・ログが開かログインします。

警告:設定を変更した後、我々は、再起動のmysqlに覚えておく必要があり、構成可能
サービスmysqldが再起動


ビン・ログログを回す参照、2 
MySQLの>「%log_bin%」のような変数を表示、


リフレッシュに関する3、およびビン・ログログログ

リフレッシュログを:MySQLの>フラッシュログ; 

注:このアクションは、新しいビン・ログログファイルを生成し、各リフレッシュ、それは新しいファイルを生成しますが、目的はあなたの古いファイルを聞かせすることであり、分離があります。
最後のログを表示します。mysql> SHOWマスター状態; 

注:ビン・ログに移動し、最後の実行、POS、この利点は、あなたが操作を実行するログをどここのコマンドは見ることができます。クリアすべてのログ:MySQLの>リセットマスター; 
注:これは、すべてのビン・ログログを削除します



ビン・ログログを参照してください
 
。Aは、最初のディレクトリのbin-ログログ入り
CD /マイン/サーブ/ MySQLの/ varの各

mysqlbinlogはファイルのbinディレクトリビューを使用してBを。
[ルート@ iZm5eizpokikoertia0x31ZのMySQL]#/マイン/サーブ/ MySQLの/ binに/ mysqlbinlogはmysqlの-bin.000001 

:それのためのこの時間、エラー、 "UTF8キャラクタ・セットが無効である"アプローチがあるかもしれない
 /マイン/サーブ/ MySQLの/ binに/ MySQLのmysqlbinlogは--no-デフォルト-bin.000001 

、このよう私はそれを見ることができます!
BINLOGが使用してデータを復元ログ
 
、バイナリmysqlディレクトリに
CD /マイン/サーブ/ mysqlの/ binに

Bを、データ復旧は、ログのbinlogによって行わ
./mysqlbinlog /mine/serve/mysql/data/mysql-bin.000002 - -start位置= 107 --stop-位置 = 5601 | ./mysql -uルート-p

MySQLのバックアップデータ(エクスポートデータ)

789123 NEWDATA -l -F -pのmysqldump -uルート /鉱山/ツール/ SQL / newdata.sql 

注:
-Fすなわちフラッシュログ、一度、用ビン・ログログを含むバックアップごとに新しいログファイルを、再生成ビン・ログログ、使用MySQLの>ショーマスターのステータス、このステップは非常に重要です!

データのバックアップが完了した場合にのみ、データベースをロックし、そのロックを-l、それがロックを解除することができます。MySQLの回復(バックアップ)、およびビンログログ(操作データのダウンタイム) 
A、789 123 MySQLのNEWDATA -v -uルート-p -f </mine/tool/sql/newdata.sql(バックアップ)
注:
インポートの詳細を表示する-v。
-fすなわち偽、中間体は、自動的に次の操作を続行し、スキップしたときにエラーが発生したを示します。
B、/ binに-log.000005 mysqlbinlogは| 。./mysql -uルート789123 -p( 操作データのダウンタイム)マルチラインビン・ログログを参照してください 
./mysqlbinlog /鉱山/サーブ/ mysqlの/データ/ binに、ログ0.00005 |ほかのデータはログ復元するビン-指定された位置 
の開始終了位置のデータ復旧を指定するには、
 ./mysqlbinlog /mine/serve/mysql/data/mysql-bin.000002 --start-位置= 107 --stop位= 5601 | ./mysql -uルート-p















B、終了位置復元データを指定
-u ./mysql -pルート| ./mysqlbinlog /mine/serve/mysql/data/mysql-bin.000002 --stop位置= 5601 

Cは、指定された時間は、データを回復する
./mysqlbinlog /鉱山は/ / mysqlの/データ/サーブ | "2019年7月12日夜6時00分00秒" --stop位置= "2019年7月12日18時30分〇 〇秒" =のmysql-bin.000002 --start-日ルート-p -u ./mysql 

D、指定された期限前のデータ
./mysqlbinlog /mine/serve/mysql/data/mysql-bin.000002 --stop位置=「2019年7月12日夜6時30分00秒」 | ./mysql -uルート-p

マスターからの効果や利点は、MySQLをコピーします

1、プライマリサーバ上の問題ならば、あなたはすぐにサーバーに切り替えることができ
、2サーバーからのクエリ操作を実行するために、圧力、プライマリサーバ減らすかもしれ
ようで、バックアップ時にメインサーバに影響を与えない、サーバーからバックアップを実行するのに役立つことができる、3 

注意:一般的にまれにしかデータやリアルタイムデータが少なく厳しい、缶、比較的高いリアルタイムまだサーバから照会することにより、プライマリ・データベースからクエリデータに必要な要件を更新しました。

基本的なマスタスレーブ同期ステップMySQLデータベースの構成

----- == メインサーバー構成
 
ログインしたMySQLデータベース
のMySQL> MySQLの-uルート-p DB 

サーバーから許可されたユーザ設定には2、
*上のすべてのスレーブを付与> MySQLを * [email protected]パス」によって識別「; 
または
mysq>グラントスレーブ複製* * [email protected] ONで識別される。」合格」

3、コンフィギュレーション・ファイルのmy.cnfマスターサーバー、ビン・ログの開口部、およびセットを変更したserver-idの値。
ログビン=ビンのMySQL 
サーバID = 1。

4、一貫性のあるスナップショット(オプション)を得るように、何のデータベース操作がないことを保証するために、マスターサーバー上の読み取りロックを設定する。
MySQLの>フラッシュ読み取りロックを持つテーブル; 

注:大量のデータテーブルをロックし、そうでない場合、あなたは、フルデータ同期を行うことはできません。

図5は、マスターの現在のバイナリログ名と場所は、オフセット
のMySQL>ショーマスターステータスを; 

。6、この時間は、そのバックアップが完全に同期させることができるので、マスタは、データ更新操作を停止しました。バック最大2つのタイプに分けウェイ:
Aは、すべてのデータをコピーし、
B、mysqldumpをバックアップデータ

注:メインの図書館サービスを停止することができる場合は、直接データファイルをコピーし、最速の方法です。以下のような:
data.tarデータ-zcvfタール

図7は、マスターデータベースのバックアップが完了した後、マスタ・データベース・書き込み動作をリストア操作の残りの部分は、その上のサーバから実行されます。
MySQLの>ロックを解除テーブル(すべてのテーブルをアンロック)

ディレクトリカタログに圧縮されたデータファイルを、あるライブラリから回復するための最速の方法では、メイン・データベース、8、データを、あなたは抽出することができます。

----- == サーバ構成から(注:エンジンはMyISAMテーブルである

。1、この値は一意である必要があり、同じプライマリ・データベース・サーバIDを飲むことができるサーバIDデータベース、サーバID注から変更、また、複数のスレーブデータベースがあっても、データベースから各サーバIDは同じにすることはできません。

コンフィギュレーションサーバから:
サーバー-ID = 2 
マスターホスト= 47.104.176.145- 
マスタースレーブ=ユーザー
マスターパスワード= 123456 
マスターポート= 3306 
ログ・ビンビンのMySQL = 
#=複製新しい新しいDB-DO- 
#replicate- = new.sky表-行う


2は、サーバからの設定変更が完了した後、新しい設定を有効にするために変更さそうということは、再起動のmysqlに必ず覚えておいてください。
mysqldをpkillは
/マイン/サーブ/ MySQLの/ binに/ mysqld_safeを--user = MySQLの&


3は、サーバーを構成した後、道を表示するには、通常2つの方法をマスター・スレーブ・プロセスをチェックすることを忘れないでください。

A、PROCESSLIST 
MySQLの>ショーPROCESSLIST \ G 
存在する場合:状態:送信にマスターを待っているイベント、 。成功した主なデータベース、および取得に成功したビン・ログを接続し、それ手段
の状態:すべての準備ができてログを読んでいる場合は 、スレーブを待って、 I / binに、ログログのためにそれを更新するスレッド、ビン・ログログの実装を成功、再びメインデータベースに接続するために待っていると更新O 

B、ステータス
> MySQLの表示スレーブステータス\ G 
がある場合:
Slave_IO_Runningは:はい
、サーバーから言っビン・ログログの、マスターサーバー(データベース)を読んで、そしてリレーからログサーバに書き込みされています。
Slave_SQL_Running:はい
ビン・ログログリレーログを読み出して実行するには、このプロセスは手段。

注:2つの以上のプロセスが成功した場合は、マスター・スレーブのレプリケーションは、成功するために1がNOの場合は、マスタースレーブのレプリケーションが失敗しないように。エラーの原因は、「LAST_ERROR」フィールドから取得することができます。


図4は、共通のデータベースからのコマンド
、スレーブ#スレッド開始コピーを開始
、bは停止スレーブ#ストップ複製スレッドの
C、データベースの状態からのshowスレーブステータス# 
D、プライマリ・データベースのショーマスターログ#ビュービン・ログログを
#に電子、変更マスタ動的に設定するには、プライマリサーバーを変更します
F、プロセスを実行しているデータベースからPROCESSLIST#ビューを表示

MySQLのマスタースレーブ同期の一般的なエラー

1、エラー:Slave_SQL_Runningに、プライマリ・データベースのデータベースからのデータを同期することができません表示を表示スレーブステータスなし、Seconds_Behind_Masterがヌルである、理由がある:
A、プログラムはスレーブ上の書き込み動作とすることができる
Bは、後でスレーブマシンを再起動することができます、トランザクションのロールバックが発生します。

:2、解決策は、次のように動作A、方法 
; mysq> STOPスレーブ
。MySQLの> = SET GLOBAL_SQL_SLAVE_SKIP_COUNTER 1; 
MySQLの>スレーブスタート; B、方法II 
スレーブデータベース、STOPスレーブに、スレーブはサービスを停止し、内マスターライブラリ、ショーマスターのステータスは、マスターサーバー上のオフセットのバイナリログの名前と場所を表示します。次に、スレーブサーバ手動で同期する:
mSQLの>変更マスターに
MASTER_HOST = "39.100.51.121"、
MASTER_USER = "奴隷"、
master_password = "slave123456"、
MASTER_PORT = 3306、
MASTER_LOG_FILE = "MySQLの-bin.000005"、
MASTER_LOG_POS = 98、




スタートスレーブ・サービス、MySQLの>スレーブを開始し、次にYesにショースレーブ状態でSlave_SQL_Runningを閲覧、Second_Behind_Masterは通常ゼロです。警告:以前のデータとの完全な切断を確実にし、再び起動するビン・ログログをクリーンアップしてください、マスター・データベースをコピーする時から行う(新しいビン・ログログを生成する)、次に従いません操作、エラーの混乱!




公開された59元の記事 ウォンの賞賛2 ビュー5588

おすすめ

転載: blog.csdn.net/LDR1109/article/details/100942088