この記事では、MySQL データベースのバックアップを実装するさまざまな方法について説明します。ご参考までに、詳細は以下の通りです。 1. バックアップにmysqldumpを使用する 1. すべてのデータベースを完全にバックアップする mysqldump -u root -p --all-databases > E:/all.sql MySQL 8 より前では、ストアド プロシージャとイベントは mysql.proc テーブルと mysql.event テーブルに保存されていました。 MySQL 8 以降では、対応するオブジェクトの定義はデータ ディクショナリに保存され、これらのテーブルはバックアップされません。 ストアド プロシージャとイベントを含めるには、次のステートメントを使用します。 mysqldump -u root -p --all-databases --routines --events > E:/all.sql 2. ポイントインタイムリカバリ ポイントインタイムリカバリを取得するには、--single-transactionと--master-dataを指定する必要があります。 --single-transaction バックアップの前に、トランザクション分離レベルが REPEATABLE READ モードに設定され、一貫性のあるバックアップを提供するために START TRANSACTION が実行されます。 --master-data サーバーのバイナリ ログの場所を SQL ファイルに出力します。
--master-data = 2 は、エクスポート プロセス中に、現在のライブラリの binlog と POS ポイントが記録され、この行がエクスポート ファイルでコメント化されることを意味します。 --master-data = 1 は、エクスポート プロセス中に、現在のライブラリの binlog と POS ポイントが記録され、この行がエクスポート ファイルでコメント化されないことを意味します。 3. ライブラリからエクスポートするときに、メインライブラリのバイナリログの位置を記録する
--dump-slave = 2 は、エクスポート プロセス中に、マスター データベースの binlog と POS ポイントが記録され、この行がエクスポート ファイルでコメント化されることを意味します。 --dump-slave = 1 は、エクスポート プロセス中に、マスター データベースの binlog と POS ポイントが記録され、この行がエクスポート ファイルでコメント化されないことを意味します。 4. データベースとテーブルのエクスポートを指定する mysqldump -u root -p --databases データベース> E:/bak.sql mysqldump -u root -p --databases データベース --tables データテーブル> E:/bak.sql 5. テーブルを無視する mysqldump -u root -p --databases データベース --ignore-table=database.datatable> E:/bak.sql 6. 行を指定する mysqldump -u root -p --databases データベース --tables データ テーブル --where="条件" > E:/bak.sql または、limitを使用して結果セットを制限する
7. リモートサーバーのエクスポート
8. 他のサーバーとデータを統合するためのバックアップ
--skip-add-drop-table: エクスポート ファイルに drop table ステートメントを書き込みません。 --replace: エクスポートに insert ステートメントの代わりに replace into ステートメントを使用します。 2. バックアップにmysqlpumpを使用する 1. 並列処理、スレッド数を指定してバックアップ処理を高速化 mysqlpump --default-parallelism=8 > E:/all.sql 2. データベースごとにスレッド数を指定することもできます
3. データベースを除外または含める mysqlpump -u root -p --include-databases=%t > E:/bak.sql t で終わるすべてのデータベースをバックアップします。複数のデータベースはコンマで区切られます。データベース名には % または _ ワイルドカードを使用できます。 さらに、同様の --include-events、--include-routines、--include-tables、--include-triggers、--include-users などがあります。 mysqlpump -u root -p --exclude-databases=a% > E:/bak.sql バックアップから a で始まるデータベースを除外します。複数のデータベースはコンマで区切られます。データベース名には % または _ ワイルドカードを使用できます。 さらに、--exclude-events、--exclude-routines、--exclude-tables、--exclude-triggers、--exclude-users などに類似したオプションもあります。 4. バックアップユーザー mysqlpump -u root -p --exclude-databases=% --users > E:/user.sql --exclude-users で特定のユーザーを除外することができます
5. 圧縮バックアップ --compress-output=lz4 または --compress-output=zlib を使用することで mysqlpump -u root -p --compress-output=lz4 > E:/all.lz4 mysqlpump -u root -p --compress-output=zlib > E:/all.zlib 次の文で解凍します lz4_decompress E:/all.lz4 all.sql zlib_decompress E:/all.zlib all.sql 3. バックアップにはmydumperを使用する mydumper は別途インストールする必要があります。公式ウェブサイト: https://github.com/maxbube/mydumper/releases 1. 完全バックアップ mydumper -u root --password=パスワード --outputdir エクスポートパス 2. 別のテーブルをバックアップする
3. 正規表現を使用して特定のデータベースをバックアップする
バックアップから mysql および test データベースを除外します。 4. 大きなテーブルをバックアップする
--rows はテーブルを何行に分割するかを示します --trx-consistency-only は、innodb の場合にロックを最小限に抑えます。 -t はスレッド数を指定します 5. 圧縮バックアップ
6. データのみをバックアップする スキーマをスキップしてデータのみをバックアップするには、--no-schemas オプションを使用します。
4. 通常のファイルをバックアップに使用する データ ディレクトリ内のファイルを直接コピーしてバックアップできます。まず MySQL をシャットダウンし、ファイルをコピーしてから、MySQL を起動する必要があります。 5. バックアップにはxtrabackupを使用する https://www.percona.com/downloads/XtraBackup/LATEST/ 1. 完全バックアップ
--defaults-file データベース設定ファイル --backup バックアップ操作を実行する --parallel バックアップ中の同時スレッド数 --target-dir バックアップファイルのディレクトリ 2. 増分バックアップ
増分バックアップは完全バックアップに基づいており、--incremental-basedir は完全バックアップディレクトリを指します。 MySQL 関連のコンテンツに興味のある読者は、このサイトの次のトピックをチェックしてください: 「MySQL インデックス操作スキルの概要」、「MySQL 共通関数の概要」、「MySQL ログ操作スキルの概要」、「MySQL トランザクション操作スキルの概要」、「MySQL ストアド プロシージャ スキルの概要」、および「MySQL データベース ロック関連スキルの概要」。 この記事が皆様のMySQLデータベース設計に役立つことを願っています。 以下もご興味があるかもしれません:
|
>>: Dockerコンテナ同士を接続する3つの方法の詳しい説明
1. Apacheをインストールする $ sudo apt update && su...
1. はじめにこの記事では、Docker を使用して Redis を探索する方法を説明します。 Do...
<tr> <th width="12%">あああ<...
運用保守エンジニアは、初期段階では非常に大変な仕事です。この期間中、コンピューターの修理、ネットワー...
目次次のチェックミックスイン$強制更新設定、削除フィルター指令その他の単純な共通プロパティとメソッド...
解決策 1: HEAD に次のコードを挿入するなど、HTML ドキュメントで条件付きインポートを使用...
1. Reactでクラス宣言する際のヒント 上記のように、Child クラスは class キーワー...
ハロウィーンではありませんが、Linux の不気味な側面に注目する価値はあります。幽霊、魔女、ゾンビ...
1. BIOSを確認するまず、コンピュータの起動モードを確認します。win+R と入力し、msinf...
1. リストリスト ulコンテナーには、一貫した構造とスタイルを持つテキストまたはグラフの形式が読...
この記事では、主に Linux で MYSQL データベースをインストールする方法について説明し、M...
1. mysqldump の紹介mysqldump は、MySQL に付属する論理バックアップ ツー...
目次1. 新しいII. 変更element-ui は、Ele.me のフロントエンド チームが開発者...
目次序文構築可能なスタイルシートとは何ですか? CSSモジュールスクリプトの使用インポートアサーショ...
1. 背景インターネット アプリケーションの急速な更新と反復という状況では、従来の手作業や単純なスク...