序文: データベースのバックアップの重要性は、特にデータの損失が深刻な結果を招く可能性がある実稼働環境では明らかです。したがって、環境がどのようなものであっても、データベースを定期的にバックアップするための適切なバックアップ戦略が必要です。 MySQL では、より一般的に使用される論理バックアップ ツールは mysqldump です。この記事では、MySQL のスケジュール バックアップの方法を紹介します。 1. 適切なバックアップ戦略を策定する データベース環境が異なれば、異なるバックアップ戦略を検討する必要があります。バックアップ戦略を策定する際には、次の要素を考慮する必要があります。
2.Linuxシステムバックアップスクリプト Linux システムでは、crontab を使用してバックアップ スクリプトを実行できます。crontab についてよく知らない場合は、次の紹介を参照してすぐに学習できます。 Crontab は、Unix および Unix 系オペレーティング システムでよく使用されるコマンドで、定期的に実行される命令を設定するために使用されます。 形式:
最初の列は 1 から 59 までの分を示します。各分は * または */1 で表されます。2 番目の列は 1 から 23 までの時間を示します (0 は 0 時を示します)。 crontab -e このユーザーのスケジュールされたタスク設定を編集する それでは、バックアップ スクリプトを記述しましょう。 スクリプトのテンプレートは次のとおりです。 #!/bin/bash # --------------------------------------------------------------------------------- # ファイル名: mysql_backup.sh # 記述: データベースのバックアップに使用 # リビジョン: 1.0 # 日付: 2020/08/11 # 著者: 王 # mysqlログインユーザー名とパスワードを設定します(実際の状況に応じて入力してください) mysql_user = "ルート" mysql_password = "あなたのパスワード" mysql_host = "ローカルホスト" mysql_port = "3306" バックアップディレクトリ = /data/mysql_backup dt=日付 +'%Y%m%d_%H%M' echo "バックアップ開始日:" $(date +"%Y-%m-%d %H:%M:%S") # すべてのデータベースをバックアップしますmysqldump -h$mysql_host -P$mysql_port -u$mysql_user -p$mysql_password -R -E --all-databases --single-transaction > $backup_dir/mysql_backup_$dt.sql $backup_dir -mtime +7 -type f -name '*.sql' -exec rm -rf {} \; を検索します。 echo "バックアップ成功日:" $(date +"%Y-%m-%d %H:%M:%S") 上記のスクリプトは、特定のライブラリをバックアップしたり、保持期間を変更したりするなど、実際の状況に応じて変更できます。スクリプトを書いた後は、デバッグに注意してください。デバッグが完了したら、展開できます。たとえば、毎日午前 2 時にバックアップする予定の場合は、次のようにスケジュールされたタスクを設定できます。 # スクリプトの実行権限に注意し、スクリプトのパスを変更します 00 02 * * * sh /root/scripts/mysql_backup.sh > /root/scripts/mysql_backup.log 2>&1 3. Windowsシステムバックアップスクリプト Windows システム バックアップ スクリプトも同様ですが、bat スクリプトになり、スケジュールされた時間に実行するようにスケジュールする必要があります。たとえば、E ドライブに MySQLdata_Bak ディレクトリを作成し、このディレクトリに mysql_backup ディレクトリを作成してバックアップ ファイルを保存できます。mysql_bak.bat はバックアップ スクリプトです。スクリプトの内容は次のとおりです (7 日前のバックアップ ファイルを自動的に削除します)。 rem 作者:wang 日付:20200811 rem ******MySQL バックアップ開始******** @エコーオフ forfiles /p "E:\MySQLdata_Bak\mysql_backup" /m backup_*.sql -d -7 /c "cmd /c del /f @path" 「Ymd=%date:~0,4%%date:~5,2%%date:~8,2%0%time:~1,1%%time:~3,2%%time:~6,2%」と設定 "E:\mysql5.7.23\bin\mysqldump" -uroot -p123456 -P3306 --default-character-set=utf8 -R -E --single-transaction --all-databases > "E:\MySQLdata_Bak\mysql_backup\backup_%Ymd%.sql" @エコーオン rem ******MySQL バックアップ終了******** 上記のスクリプトは参考用であり、独自の環境に応じて若干変更することができます。同様に、スクリプトをデバッグした後、スケジュールされたタスクに追加できます。Windows のスケジュールされたタスクについてよくわからない場合は、Baidu で検索できます。これも非常に便利で簡単です。 4. バックアップの可用性チェック バックアップに加えて、バックアップ データの可用性を確認することが非常に重要です。データを回復する必要があるときに、保存したバックアップ データがすべて無効であることが突然わかったら、どれほど困るか想像してみてください。多くの友人がバックアップ スクリプトを作成し、それをスケジュールされたタスクに追加します。次に、スケジュールされたタスクが実行されているかどうか、およびバックアップ ディレクトリにファイルがあるかどうかを確認します。バックアップ ファイルを使用する必要があるときに、バックアップ データに問題があることがよくわかります。 現在、バックアップ ファイルのデータを検証する非常に便利な方法はありません。より一般的に使用されている方法は、バックアップ ファイルを定期的に取り出して、バックアップとリカバリの訓練を行うことです。たとえば、月に 1 回バックアップとリカバリの訓練を行うと、バックアップ ファイルの可用性が効果的に向上し、安心できます。 したがって、バックアップがあれば万全だと考えないでください。バックアップ スクリプトが正しく実行されているかどうか、また作成されたバックアップ スクリプトの内容が利用可能かどうかも確認する必要があります。定期的にリカバリ ドリルを実行するのが最善です。 要約: この記事では、主に Linux および Windows システムでの MySQL スケジュール バックアップ スクリプトを紹介します。スクリプトの内容は比較的シンプルで明確であり、機能も複雑ではありません。他のバックアップ要件がある場合は、これに基づいて変更および改善できます。この記事がお役に立てば、ぜひシェアして転送してください。 上記は、MySQL バックアップ スクリプトの書き方の詳細内容です。MySQL バックアップ スクリプトの詳細については、123WORDPRESS.COM の他の関連記事をご覧ください。 以下もご興味があるかもしれません:
|
>>: CentOS ベースの OpenStack 環境の展開に関する詳細なチュートリアル (OpenStack のインストール)
チームは新しいフレームを交換しました。すべての新しいビジネスでは、新しいフレームワークと新しいデータ...
概要実際のビジネス シナリオ アプリケーションでは、ビジネス条件に基づいて対象データを取得およびフィ...
エフェクト表示: 環境準備コントローラーノード: 6GB 4時間60GB/30GB/30GB計算ノー...
目次同じ名前の名前空間をマージする名前空間とその他の種類のマージ同じ名前の名前空間とクラスをマージす...
more は、最もよく使用されるツールの 1 つです。最も一般的な使用方法は、出力コンテンツを表示し...
この記事では、Vueでドラッグ可能なコンポーネントとドラッグ可能なコンポーネントを実装する方法を参考...
目次1. 基本的な使い方2. 指示の動作原理2.1. 初期化2.2 テンプレートのコンパイル2.3....
NULL が頻繁に使用されるのはなぜですか? (1)Javaのnull Java の NullPoi...
<br />この世に道はない。より多くの人が歩くようになると、それは道になります。最初は...
Unix ライクなシステムでは、コマンドまたはプロセスの実行がいつ開始されたか、またプロセスがどのく...
目次 はじめに 同期 非同期とブロッキング JavaScript のノンブロッキング コールバック ...
1. まずSELECT文を実行して、すべての切り捨て文を生成します。ステートメント形式: selec...
1. はじめに会社のプロジェクトを引き継いで2年になります。今では毎回プロジェクトを起動するのに1分...
最新の Ubuntu Server バージョンを使用している場合、ようこそメッセージに、Ubuntu...
目次機能コンポーネント非同期コンポーネントの書き方とdefineAsyncComponentメソッド...