mysqlプライマリスレーブ同期に問題が発生

1429 ワード

昨日mysqlデータベースのプライマリ・スレーブの同期エラーを確認し、mysqlログを表示するとログがエクスポートされないことに気づきました. :    mysqlbinlog: unknown variable  'default-character-set=utf8'
 
解決方法:mysqlbinlog--no-defaults-v--stop-position=888888 master-bin.000221 > ./mysql_tmp.log
デフォルト設定なし終了位置指定ファイルに出力
 
AWKコマンドを使用:
エラーが発生したファイル行番号を特定します.
     user@linux:~# cat mysql_tmp.log | awk '/end_log_pos 7307725/{print NR}'      93049                           
行番号付近の数値を選択:cat mysql_tmp.log | awk 'NR==92900,NR==93100'
注意:NR=行番号は、エラーを報告する行数の前後に設定する必要があります.その前後N行を設定し、対応するsql文を探し出す
 
エラーメッセージによるSQL文を検証し、スレーブ・ライブラリでこの文を実行し、プライマリ・スレーブ・データを正常にします.
エラーSQLデータを直接検出
 mysqlbinlog --no-defaults -v -v --base64-output=DECODE-ROWS master-bin.000445 | grep -A '10' 166900259
 
≪データベース・プライマリ・スレーブ・ログのクリーンアップ|Clean Database Primary From Log|emdw≫:まず、プライマリ・データベース・サーバが変更なしに操作できることを保証する必要があります.そうしないと、データが漏れやすくなります.まず従ライブラリを停止し、従ライブラリstop slaveをクリーンアップします.        reset slave all; メインライブラリreset masterをクリーンアップします.メインライブラリのステータスshow master statusを表示します.ライブラリからの同期位置を設定するchange master to master_host='IPアドレス',master_port= mysql_port, master_user='mysql_user', master_password='mysql_passwd',  master_log_file='master-bin.000001', master_log_pos=107; ライブラリからstart slaveを同期します.ライブラリのステータスが正常かどうかを確認します.