MySQLバックアップ
MySQLの物理バックアップからの復旧で、トラブルがあったのでメモ
バックアップをレプリケーションのスレーブ(スタンバイ)側で物理バックアップを日次でとっていた。
物理バックアップなので、普段はそのままデータディレクトリに配置してMySQLを起動させれば、レプリケーションも再開されてサービス再開できるはずなのにレプリケーションを開始しようとするとエラーが発生してレプリケーションが動かなかった。
原因は、"LOAD DATA INFILE"でデータをロードする途中でレプリケーションを止めて物理バックアップを取得していて、"tmpdir"や"slave-load-tmpdir"で指定したディレクトリは、物理バックアップ対象からもれていた為、読み込み対象のファイルが無かったから、エラーが起きていた。
復旧方法は、mysqlbinlogで内容を確認してから、レプリケーションの開始位置を少し前に戻して、"LOAD DATA INFILE"を初めからやり直した。
二度とおきないようにmy.cnfにも、"slave-load-tmpdir"を指定して、バックアップ対象ディレクトリに一時データを作成するように変更した。
0 件のコメント:
コメントを投稿