ホームページ > データベース > mysql チュートリアル > MySQL データベースの完全バックアップと増分バックアップを実装する方法

MySQL データベースの完全バックアップと増分バックアップを実装する方法

WBOY
リリース: 2023-05-27 11:40:23
転載
2340 人が閲覧しました

定義

完全バックアップとは、データベース内のすべてのデータとすべてのオブジェクトをバックアップすることです。

MySQL サーバーのデータ ファイルはディスク ベースのテキスト ファイルであるため、完全バックアップはデータベース ファイルをコピーすることであり、これが最も簡単で最速の方法です。

ただし、MySQL サーバーのデータ ファイルは、サーバーの実行中は常に開かれているため、真の完全バックアップを実現するには、まず MySQL データベース サーバーを停止する必要があります。

データの整合性を確保するには、MySQL サーバーを停止する前に、フラッシュ テーブル ステートメントを実行して、すべてのデータをデータ ファイルに書き込む必要があります。学生は、実稼働環境ではバックアップのためにデータベースを停止することはお勧めできないため、この方法は実行不可能であることだけを知っておく必要があります。

mysqldump コマンドを使用して、テーブル、データベース、およびデータベース システムをバックアップします。

mysqldump [-h主机名] –u用户名 –p密码 --lock-all-tables --database [tables] > 文件名
ログイン後にコピー

-h ホスト名 (省略可能) は、ローカル サーバー --lock-all-tables を示します。バックアップするファイルの読み取りロックは、データベース内のすべてのテーブルに適用されます (このプロセス中、データベースは厳密に読み取り専用状態になります)。バックアップする必要があるテーブルを --database の後に追加できます。テーブル名が指定されていない場合は、データベース全体をバックアップすることを意味します。

完全なバックアップとリカバリのデモンストレーション

学生テーブルを準備し、ワールド データベースにテーブルを構築します。

テーブルの作成:

CREATE DATABASE world;
USE world;
CREATE TABLE student(
    stuId INT(10) NOT NULL,
    stuName VARCHAR(10) NOT NULL,
    stuAge INT(10) NOT NULL,
    PRIMARY KEY(stuId)
    );
ログイン後にコピー

データの挿入:

INSERT INTO student(stuId, stuName, stuAge) VALUES(1, 'zhangsan', 18), (2, 'lisi', 19),(3, 'wangwu', 18);
ログイン後にコピー

MySQL データベースの完全バックアップと増分バックアップを実装する方法

## を使用#flush tables; ステートメントは、すべてのデータをデータ ファイルに書き込みます:

FLUSH TABLES;
ログイン後にコピー

mysql 環境を終了し、mysqldump コマンドを使用してデータベース世界を完全にバックアップします:

mysqldump -u root -p --lock-all-tables --databases world > /tmp/world.sql
ログイン後にコピー

/tmp ディレクトリに入り、バックアップ ファイルを表示します:

cd /tmp
ls
ログイン後にコピー

これで、ワールド ライブラリが完全にバックアップされたので、データ損失の心配はありません。

ワールド データベース内の Student テーブルの損失をシミュレートします:

DROP TABLE student;
ログイン後にコピー

テーブルが削除されたことを確認します

SHOW TABLES;
ログイン後にコピー
ログイン後にコピー

MySQL データベースの完全バックアップと増分バックアップを実装する方法

mysql コマンドを使用してデータベースを復元します:

mysql -uroot -p < /tmp/world.sql
ログイン後にコピー

mysql 環境に入り、回復結果を表示します:

SHOW TABLES;
ログイン後にコピー
ログイン後にコピー

出力結果:

MySQL データベースの完全バックアップと増分バックアップを実装する方法

テーブル内のデータを確認します:

SELECT * FROM student;
ログイン後にコピー

MySQL データベースの完全バックアップと増分バックアップを実装する方法

増分バックアップは前回の完全バックアップまたは増分バックアップ以降の変更 データのバックアップはバイナリ ログ ファイルに依存するため、データベースのバイナリ ログ ログをオンにする必要があります。最初にデータベースの完全バックアップを実行し、同時に binlog ログを更新します。このバックアップ後のすべての操作は、新しい binlog ログに記録されます。コンテンツの継続的な増加を実現するには、追加された binlog をバックアップするだけで済みます。データベースの完璧なバックアップ。データベースに異常が発生した場合、最新のフルバックアップをリストアし、その後増分バックアップファイルを1つずつリストアすることでデータベースを復旧します。

以上がMySQL データベースの完全バックアップと増分バックアップを実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:yisu.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート