1 現在のデータベースの内容を表示し、データベースをバックアップするデータベース情報を表示します: データベースをバックアップします。 [root@localhost ~]# mysqldump -u root -pt > /mnt/t.sql パスワードを入力してください: [root@localhost ~]# ll /mnt/t.sql -rw-r--r-- 1 ルート ルート 1771 8月 25日 11:56 /mnt/t.sql 2 bin_log関数を有効にするまず、データベースでbin_log関数が有効になっているかどうかを確認します。 mysql> "%log_bin%"のような変数を表示します。 /etc/のmysql設定ファイルmy.cnfを変更し、log_bin = mysql_binという行を追加する必要があります。 3 誤操作をシミュレートする(3つのデータを挿入、データベースを削除する)mysql> t1値に挿入(3); クエリは正常、1 行が影響を受けました (0.00 秒) mysql> t1値に挿入(4); クエリは正常、1 行が影響を受けました (0.00 秒) mysql> t1値に挿入(5); クエリは正常、1 行が影響を受けました (0.00 秒) mysql> t1 から * を選択します。 +------+ |id| +------+ | 1 | | 2 | | 5 | | 4 | | 3 | +------+ セット内の行数は 5 です (0.00 秒) mysql> ログをフラッシュします。 クエリは正常、影響を受けた行は 0 行 (0.00 秒) mysql> マスターステータスを表示します。 +------------------+----------+--------------+------------------+ | ファイル | 位置 | Binlog_Do_DB | Binlog_Ignore_DB | +------------------+----------+--------------+------------------+ | mysql_bin.000003 | 106 | | | +------------------+----------+--------------+------------------+ セット内の 1 行 (0.00 秒) データの削除: mysql> t1を切り捨てます。 クエリは正常、影響を受けた行は 0 行 (0.00 秒) mysql> t1 から * を選択します。 空のセット (0.00 秒) この時点でデータベースは突然破損したり手動で削除されたりします mysql> テーブル t1 を削除します。 クエリは正常、影響を受けた行は 0 行 (0.00 秒) mysql> テーブルを表示します。 空のセット (0.00 秒) 4 データ復旧1 バックアップした/mnt/t.sqlを使用してデータを復元する mysql> ソース /mnt/t.sql; クエリは正常、影響を受けた行は 0 行 (0.00 秒) クエリは正常、影響を受けた行は 0 行 (0.00 秒) クエリは正常、影響を受けた行は 0 行 (0.00 秒) クエリは正常、影響を受けた行は 0 行 (0.00 秒) クエリは正常、影響を受けた行は 0 行 (0.00 秒) クエリは正常、影響を受けた行は 0 行 (0.00 秒) クエリは正常、影響を受けた行は 0 行 (0.00 秒) クエリは正常、影響を受けた行は 0 行 (0.00 秒) クエリは正常、影響を受けた行は 0 行 (0.00 秒) クエリは正常、影響を受けた行は 0 行 (0.00 秒) クエリは正常、影響を受けた行は 0 行 (0.00 秒) クエリは正常、影響を受けた行は 0 行 (0.00 秒) クエリは正常、影響を受けた行は 0 行 (0.00 秒) クエリは正常、影響を受けた行は 0 行 (0.01 秒) クエリは正常、影響を受けた行は 0 行 (0.00 秒) クエリは正常、影響を受けた行は 0 行 (0.00 秒) クエリは正常、影響を受けた行は 0 行 (0.00 秒) クエリは正常、2 行が影響を受けました (0.00 秒) 記録: 2 重複: 0 警告: 0 クエリは正常、影響を受けた行は 0 行 (0.00 秒) クエリは正常、影響を受けた行は 0 行 (0.00 秒) クエリは正常、影響を受けた行は 0 行 (0.00 秒) クエリは正常、影響を受けた行は 0 行 (0.00 秒) クエリは正常、影響を受けた行は 0 行 (0.00 秒) クエリは正常、影響を受けた行は 0 行 (0.00 秒) クエリは正常、影響を受けた行は 0 行 (0.00 秒) クエリは正常、影響を受けた行は 0 行 (0.00 秒) クエリは正常、影響を受けた行は 0 行 (0.00 秒) クエリは正常、影響を受けた行は 0 行 (0.00 秒) mysql> テーブルを表示します。 +-------------+ | テーブル_in_t | +-------------+ | t1 | +-------------+ セット内の 1 行 (0.00 秒) mysql> t1 から * を選択します。 +------+ |id| +------+ | 1 | | 2 | +------+ セット内の 2 行 (0.00 秒) 2 まだ復元されていないデータが3つあります。どうすればいいですか? bin-logを使用してのみ復元できます [root@localhost ~]# mysqlbinlog --no-defaults /var/lib/mysql/mysql_bin.000002 | mysql -u root -p123.com t mysql> t を使用します。 テーブル名と列名の補完のためのテーブル情報の読み取り -Aでこの機能をオフにすると起動が速くなります。 データベースが変更されました mysql> t1 から * を選択します。 +------+ |id| +------+ | 1 | | 2 | | 3 | | 4 | | 5 | +------+ セット内の行数は 5 です (0.00 秒) マイSQL> 5 結論データのバックアップ mysqldump -uroot -p123456 テスト -l -F '/tmp/test.sql' -l: 読み取りロック (読み取りのみ可能、更新不可) -F: ログをフラッシュし、log-bin ログを含む新しいログファイルを再生成します。 binlog ログを表示 mysql>マスターステータスを表示します。 インポートする前にデータをバックアップする mysql -uroot -pt -v -f </mnt/t.sql -vはインポートに関する詳細情報を表示します -fは途中でエラーが発生した場合にそれをスキップして次の文の実行を続行できることを意味します binlog-file バイナリログファイルを復元する mysqlbinlog --no-defaults binlog-file | mysql -uroot -pt ある時点から回復する(367) mysqlbinlog --no-defaults --stop-position="367" mysql-bin.000001| mysql -uroot -pt まずその点を確認し、さらに確認する [root@localhost mysql]# /usr/bin/mysqlbinlog --no-defaults mysql-bin.000002 --start-position="794" --stop-position="1055" | 続き その後復元 [root@localhost mysql]# /usr/bin/mysqlbinlog --no-defaults mysql-bin.000002 --start-position="794" --stop-position="1055" | /usr/bin/mysql -uroot -pt バイナリログをリセット mysql> マスターをリセットします。 クエリは正常、影響を受けた行は 0 行 (0.01 秒) mysql> マスターステータスを表示します。 +------------------+----------+--------------+------------------+ | ファイル | 位置 | Binlog_Do_DB | Binlog_Ignore_DB | +------------------+----------+--------------+------------------+ | mysql-bin.000001 | 106 | | | +------------------+----------+--------------+------------------+ mysql> flush logs;#現在のバイナリ ログ ファイルを閉じて、新しいバイナリ ログ ファイルを作成します。新しいバイナリ ログ ファイルの名前は、現在のバイナリ ファイルの番号に 1 を加えたものになります。 これで、MySQL binlog を使用して誤って削除されたデータベースを回復する方法に関するこの記事は終了です。誤って削除されたデータベースの MySQL binlog 回復の詳細については、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: CSS3 border-radius 丸角の実装方法と使い方の詳しい説明
>>: HTML の <input> タグの詳細な説明と、それを無効にする方法
最近、Oracle は Java 14 (または Oracle JDK 14) の一般公開を発表しま...
まず、yumを使ってCentOSにPHPをインストールする方法を紹介します。 1. PHPのyumソ...
目次1. 関数シグネチャ2. 関数のオーバーロード2.1 オーバーロードされたシグネチャは呼び出し可...
バージョンアップデートにより、元のユーザーのパスワードフィールドがauthentication_st...
目次1. プロトタイプ2. プロトタイプチェーン2.1 コンストラクタ2.2 電話をかける/申し込む...
参考までにWindowsにMySQLをインストールします。具体的な内容は次のとおりです。 1.まずM...
インデックスの2つの主要なカテゴリ使用されるストレージエンジン: MySQL 5.7 InnoDBク...
フレックスレイアウトFlex は Flexible Box の略で、「柔軟なレイアウト」を意味します...
Nginx の書き換え機能は、リダイレクトと同様に、URL アドレスを一時的または永続的に新しい場所...
この記事では、主に、div の水平レイアウトの両側の配置を実装する 3 つの方法を紹介し、それらを共...
序文MySQL では、EXPLAIN コマンドを使用して、テーブルの接続方法や SELECT ステー...
バイオニックデザインといえば、飛行機の発明、ドバイのブルジュ・アル・アラブ、平泳ぎなどを思い浮かべる...
1. ダウンロード、例として8.0を取り上げますダウンロードアドレス: https://dev.my...
目次導入始めるインストール①直接ダウンロードする方法②CND法③NPM方式④糸法NPMインストールの...
この質問をされたとき、私は無知で頭が真っ白になりました。もちろん、正しく答えられませんでした。私はず...