msyql 5.6マスタースレーブ障害回復プロセス

#msyql 5.6マスタースレーブ障害回復プロセス

################## aultシミュレーション
###主库
1 データベースの構築とテーブルの構築
mysql -e " データベースクラスの削除; 
データベースクラスの作成; 
クラスの使用; 
テーブルStudentの作成(
名前CHAR20でない)ヌル
年齢INT2)ないNULL); "
 
## 2   ライブラリからのコマンドで実行することができるコマンド、等、搬送項目3にノックを実行することなくデータ#に挿入
 するための I  { 1 .. 10 }; do mysql -e " USE class; insert into student values( 'aaabbb $ i'、$ i); "; done 

mysql -e " select * from class.student; "
 
/etc/init.d/ mysqld stop 

#### 3   execute   
mysql -e ' stop slave; show slave status \ G; ' | grep Slave 

## ##メインライブラリを実行した後、次のコマンドを実行します

mysql -e ' show slave status \ G; ' | grep Slave 



######################### ###### 
From√主操作手順
## 1 ## master.infoファイルを表示し、最大のposを持つファイルを比較して、新しいマスターデータベースとして選択します
mysql -e ' show slave status \ G; ' | grepRead_Master_Log_Posは

を/ usr / local / MySQLの/データ/マスター。情報
###データベースディレクトリ、削除master.infoとリレーログ奴隷-更新がある場合は、ログ・ビンを開いて、ファイル-log.info、my.cnfの設定ファイルをそして、読み取り専用はコメントアウトする必要があります。リセットマスターを実行

mv -f / usr / local / mysql / data / master。Info {、bak}
 mv -f / usr / local / mysql / data / relay-log。Info {、

mysql } -e " *にレプリケーションスレーブを付与します。*を 'replpwd'で識別される 'repl' @ '%'に
フラッシュします。特権をフラッシュし
   、mysql.userからユーザー、ホストを選択します。"
 
sed -i ' s / ^ log-slave -updates = /#log-slave-updates = / g ' / etc / my.cnf
sed -i ' s / ^ read-only = /#read-only = / g ' / etc / my.cnf 

egrep -v ' ^#| ^ $ ' / etc / my.cnf


 /etc/init.d/ mysqld restart 


mysql -e   " スレーブの停止;スレーブの
リセット; 
マスターのリセット; "
 
mysql -e   " マスターのステータス\ G " 

############### 



##########その他库   


mysql -e " スレーブを停止し、スレーブを
リセットし、
マスターを変更してマスターをマスター
ホストに変更 = ' 192.168.11.41 '
MASTER_USER = ' repl ' 
MASTER_PASSWORD = ' replpwd ' 
MASTER_PORT = 3306 
MASTER_LOG_FILE = ' mysql-bin.000001 ' 
MASTER_LOG_POS = 149976 
MASTER_CONNECT_RETRY = 10 ; 
start slave; "
 
mysql -e ' show slave status \ G; ' | grep スレーブ


############################################## #############古いメインライブラリのbinlogを使用してデータを復元します
#################まず古いは/ usr / local / mysqlの/データを見つける / によって新しいプライマリ・データベースでmaster.infoバイナリログファイル名とファイルがあるべきMASTER_LOG_POSの値を見つけるための二行目とファイルの3行

ヘッドは/ usr / local / mysqlの/データ / マスター。情報23である
#mysql -bin。000002 65428 192.16811.43 
#repl 
#replpwd 3306 10 0 
########## 2 。mysqlbinlogはコマンドデータを介しては、SQLファイルを抽出し、そして新しいプライマリ・データベースまでの同期
## - B test1のデータベース名
mysqlbinlogは -b test1の--start-位置= 65428   MySQLのビン。000002 > test.sql内

SCP test.sql内ルート@ 192.16811.41:〜/ 

########### 。3 。test.sql内の新しいマスタファイルリポジトリに導入さ
msyql -e " ソース/root/test.sql " 


### #######データリカバリの状況を確認する
mysql -e " select * from test.student; " 



#######################机机主库


### 1を復元し   ます。
MySQLの -e   " STOPスレーブ; 
RESETスレーブ; 
RESETマスター; "
 
##### 2 
#### /etc/my.cnf [mysqld]の下に1行を追加します。読み取り専用= 1 


sed -i '/ \ [mysqld \] /読み取り専用= 1 ' / etc / my.cnf
 /etc/init.d/ mysqld restart 


######### 3    ## MASTER_LOG_FILE = ' mysql-bin.000001 '、MASTER_LOG_POS = 149976 、新しいメインライブラリで見つかったファイルとノードの場合

mysql -e " stop slave; 
reset slave; 
CHANGE MASTER TO 
MASTER_HOST = ' 192.168.11.41 ' 
MASTER_USER = ' repl ' 
MASTER_PASSWORD = ' replpwd ' 
MASTER_PORT = 3306
MASTER_LOG_FILE = ' mysql-bin.000001 ' 
MASTER_LOG_POS = 149976 
MASTER_CONNECT_RETRY = 10 ; 
スレーブを開始します。"
 
mysql -e ' show slave status \ G; ' | grep Slave


 

おすすめ

転載: www.cnblogs.com/blog-lhong/p/12692810.html