1, さまざまな使用方法
A. 最も単純な使用法:
1 2 |
|
上記のコマンドは、次のようなダンプ ファイル (ダンプ ファイル) に指定されたデータベースをバックアップします。
1 |
|
によって生成test.dump ファイルには、テーブル作成ステートメント (データベース構造の生成) とデータを挿入するための挿入ステートメントが含まれています。
B. --opt
--opt パラメータを追加すると、生成されるダンプ ファイルは少し異なります:
テーブル作成ステートメントには、テーブル名があれば削除が含まれます
。挿入前に含まれるステートメントのロック テーブル tableName write には、挿入後のロック解除テーブルが含まれます
C. クロスホスト バックアップ
次のコマンドを使用して、host1 のsourceDb を host2 の targetDb にコピーします。 host2 ホスト上に作成:
1 |
|
-C は、データ圧縮を使用するようにホスト間のデータ送信を指示します
D. テーブル構造のみをバックアップします
1 |
|
はテーブル構造のみをバックアップします。 --databases は、バックアップするホスト上のデータベースを示します。 MySQL ホスト上のすべてのデータベースをバックアップする場合は、次のように --all-databases オプションを使用できます:
1 |
|
E. バックアップ ファイルからデータベースを復元します
1 |
|
複数のデータベースをバックアップします
構文:
1 |
|
--databases オプションを追加し、その後に複数のデータベースを追加します
1 |
|
すべてのデータベースをバックアップします
戻るための sqldump コマンドすべてのデータベースをバックアップする方法は次のとおりです:
1 |
|
例:
1 |
|
2, Linux cron コマンドと組み合わせて、スケジュールされたバックアップを実現します
たとえば、すべてのデータベースをバックアップする必要があります。毎朝 1:30 に特定のホストにアクセスし、ダンプ ファイルを gz 形式に圧縮します。その後、次のコード行を /etc/crontab 設定ファイルに追加できます:
1 |
|
最初の 5 つのパラメータは、分、時間、日を表します。 、月、年をそれぞれ表し、アスタリスクは任意を意味します。 date '+%m-%d-%Y' は、現在の日付を MM-DD-YYYY 形式で取得します。
3. MySQL データベースをバックアップするための完全なシェル スクリプトの例
1 2 3 |
|
上記のスクリプト ファイルは、backup.sh として保存され、システム内に 2 つのディレクトリ /olcbackup および /backup が作成されます。 Backup.sh が実行されるたびに、/backup ディレクトリ内にある、backup で始まる名前を持つすべてのファイルが /oldbackup ディレクトリに移動されます。
上記のスクリプトの実行計画を次のように作成します:
1 |
|
4、mysqldump 完全バックアップ + mysqlbinlog バイナリログ増分バックアップ
mysqldump バックアップ ファイルからデータを復元すると、更新されたデータは失われます。したがって、mysqlbinlog バイナリログ増分バックアップも組み合わせる必要があります。 my.ini または my.cnf に、バイナリ ログまたは mysqld --log-bin を有効にする次の設定が含まれていることを確認してください:
1 2 |
|
新しいバイナリ ログ ファイルを生成するには、mysqldump コマンドに --flush-logs オプションが必要です:
1 |
|
この方法で生成された増分バイナリログファイルは、たとえば mysql-bin.000003 であり、データは次のように復元されます。
shell>mysql -uroot -pPwd <backup_sunday_1_pm.sql><div class="cnblogs_Highlighter sh-gutter"><div>
<code class="sql plain">shell>mysql-bin.000003 |
以上がmysqldump コマンドの使用例の詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。