LinuxはMySQLデータベースの自動バックアップとスケジュールバックアップを毎日実装しています

LinuxはMySQLデータベースの自動バックアップとスケジュールバックアップを毎日実装しています

概要

バックアップは災害復旧の基礎であり、システム操作エラーやシステム障害によるデータ損失を防ぐために、アプリケーション ホストのハード ディスクまたはアレイからデータ セットの全部または一部を他のストレージ メディアにコピーするプロセスを指します。一部の Web サイトやシステムでは、データベースがすべてであるため、データベースをバックアップすることが重要です。

バックアップとは何ですか?

這里寫圖片描述

なぜバックアップするのですか?

這里寫圖片描述

災害復旧計画構築

這里寫圖片描述

ストレージメディア

CD

テープ

ハードディスク

ディスクアレイ

DAS: 直接接続ストレージ

NAS: ネットワーク接続ストレージ

SAN: ストレージ エリア ネットワーク

クラウドストレージ

ここでは、主にローカル ディスクをストレージ メディアとして使用し、スケジュールされたタスクと基本的なバックアップ スクリプトの追加と使用について説明します。他のストレージ メディアとの唯一の違いは、メディアのアクセス方法が若干異なる場合があることです。

1. ディスク容量を確認します。

スケジュールされたバックアップであるため、容量不足によるバックアップの失敗やデータ損失を避けるために、十分な容量のあるディスクを選択する必要があります。

現在のディスクに保存するのが最も簡単ですが、あまりお勧めできません。サーバーに複数のハード ディスクがある場合は、別のハード ディスクにバックアップを保存するのが最適です。条件が許せば、より優れた、より安全なストレージ メディアを選択してください。

# df -h
ファイルシステムサイズ 使用済み 使用可能使用率 マウント先
/dev/mapper/VolGroup-lv_root 50G 46G 1.6G 97% /
tmpfs 1.9G 92K 1.9G 1% /dev/shm
/dev/sda1 485M 39M 421M 9% /ブート
/dev/mapper/VolGroup-lv_home 534G 3.6G 503G 1% /home

2. バックアップディレクトリを作成します。

上記のコマンドから、/home に十分なスペースがあることがわかります。そのため、バックアップ ファイルを /home に保存することを検討できます。

cd /ホーム
mkdir バックアップ
CDバックアップ

3. バックアップ シェル スクリプトを作成します。

次のコマンドの DatabaseName を実際のデータベース名に置き換える必要があることに注意してください。

もちろん、独自の命名規則を使用することもできます。

vi bkデータベース名.sh

以下を入力/貼り付けます。

#!/bin/bash
mysqldump -uusername -ppassword データベース名 > /home/backup/データベース名_$(日付 +%Y%m%d_%H%M%S).sql

バックアップを圧縮するには:

#!/bin/bash
mysqldump -uusername -ppassword データベース名 | gzip > /home/backup/データベース名_$(日付 +%Y%m%d_%H%M%S).sql.gz

知らせ:

ユーザー名を実際のユーザー名に置き換えます。

パスワードを実際のパスワードに置き換えます。

DatabaseName を実際のデータベース名に置き換えます。

4. 実行権限を追加します。

chmod u+x bkデータベース名.sh

実行権限を追加した後、まずスクリプトを実行して、エラーがないか、正常に使用できるかどうかを確認します。

./bkデータベース名.sh

5. スケジュールされたタスクを追加する

crontabを検出またはインストールする

crontab がインストールされているかどうかを確認します。

crontab コマンドがコマンドが見つからないと報告した場合、コマンドがインストールされていないことを意味します。

# クローンタブ
-bash: crontab: コマンドが見つかりません

crontab がインストールされていない場合は、まずインストールする必要があります。具体的な手順については、以下を参照してください。

CentOS に yum コマンドを使用して、スケジュールされたタスク プログラムである crontab をインストールする

rpmコマンドを使用して、CentOSシステムディスクからスケジュールされたタスクプログラムcrontabをインストールします。

スケジュールされたタスクの追加

次のコマンドを実行します:

crontab -e

この時点で、vi エディタを使用する場合と同じように、スケジュールされたタスクを編集できます。

以下を入力して保存します。

*/1 * * * * /home/backup/bkデータベース名.sh

具体的にはどういう意味ですか?

これは、シェル スクリプト「/home/backup/bkDatabaseName.sh」が 1 分ごとに 1 回実行されることを意味します。

6. タスクが実行されたかどうかをテストする

とても簡単です。「ls」コマンドを数回実行し、1 分後にファイルが作成されるかどうかを確認するだけです。

タスクの実行が失敗した場合は、次のコマンドを実行してタスク ログを表示できます。

# テール -f /var/log/cron

出力は次のようになります。

9月30日 14:01:01 bogon run-parts(/etc/cron.hourly)[2503]: 0ancronを開始
9月30日 14:01:01 bogon run-parts(/etc/cron.hourly)[2512]: 0anacronが終了しました
9月30日 15:01:01 bogon CROND[3092]: (root) CMD (run-parts /etc/cron.hourly)
9月30日 15:01:01 bogon run-parts(/etc/cron.hourly)[3092]: 0anacronを開始
9月30日 15:01:02 bogon run-parts(/etc/cron.hourly)[3101]: 0anacronが終了しました
9月30日 15:50:44 bogon crontab[3598]: (root) BEGIN EDIT (root)
9月30日 16:01:01 bogon CROND[3705]: (root) CMD (run-parts /etc/cron.hourly)
9月30日 16:01:01 bogon run-parts(/etc/cron.hourly)[3705]: 0anacronを開始
9月30日 16:01:01 bogon run-parts(/etc/cron.hourly)[3714]: 0anacronが終了しました
9月30日 16:15:29 bogon crontab[3598]: (root) 編集終了 (root)

要約する

上記は、Linux での MySQL データベースの毎日の自動バックアップに関する編集者による紹介です。皆様のお役に立てれば幸いです。ご質問がある場合は、メッセージを残していただければ、すぐに返信いたします。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。

以下もご興味があるかもしれません:
  • Linux で毎日データベースの自動バックアップを設定する方法
  • Linux で MySQL データベースを毎日自動的にバックアップする方法
  • Linux で MySQL データベースのスケジュールされたバックアップを実装する簡単な方法
  • Linux は定期的に MySQL データベースをバックアップし、以前のバックアップ ファイルを削除します (推奨)
  • Linux でのデータベースのスケジュールバックアップの実装スクリプト

<<:  Dockerコンテナとローカルマシン間でファイルを転送する方法

>>:  Vue3+TypeScriptはaxiosをカプセル化し、リクエスト呼び出しを実装します

推薦する

Web 開発チュートリアル クロスドメイン ソリューションの詳細な説明

序文この記事では、主にWeb開発のためのクロスドメインソリューションを紹介し、参考と学習のために共有...

JavaScript キャンバス テキスト クロック

この記事では、テキストクロックを実装するためのキャンバスの具体的なコードを例として紹介します。具体的...

MacでMysqlのルートパスワードを忘れた場合の解決方法

長い間コンピューターで mysql を使用していなかったので、パスワードを忘れてしまいました。でも、...

MySQL 集計関数のソート

目次MySQL 結果のソート - 集計関数環境クエリ結果の並べ替えクエリのグループ化と集約生徒の平均...

Vueはタブを切り替えてデータの状態を維持する3つの方法を実装します

Vue でタブ切り替えを実装する 3 つの方法1. v-showはコンテンツの切り替えを制御します1...

Vue.js のミックスインの詳細な説明

ミックスインは、コンポーネントに分散された再利用可能な機能を柔軟な方法で提供します。 Mixin オ...

JavaScript の instanceof メソッドの手動実装

1. instanceofの使用法instanceof演算子は、コンストラクター関数のprototy...

MySql 自動切り捨て例の詳細な説明

MySql 自動切り捨て例の詳細な説明友人が質問しました。プロジェクト内で挿入または更新ステートメン...

MySQL 8.0.11 圧縮版のインストールと設定方法のグラフィックチュートリアル

MySQL 8.0圧縮パッケージのインストール方法、詳細は次のとおりです知らせ:オペレーティング シ...

MySQL 8.0.16 圧縮版のダウンロードと Win10 システムへのインストール チュートリアル

公式サイトからダウンロード: https://www.mysql.com MySQLの公式サイトにア...

Baidu Union 環境での広告スキル (グラフィック チュートリアル)

最近、製品部門のユーザーエクスペリエンスチームの学生は、アライアンス環境における広告に関する一連の研...

Centos6.5 で MySQL 5.7.19 をインストールして設定する方法

Centos6.5にmysql5.7.19をインストールするための詳細な手順は次のとおりです。 1....

WeChatアプレットがテキストスクロールを実装

この記事の例では、WeChatアプレットでテキストスクロールを実装するための具体的なコードを参考まで...

固定サイドバーを実現するためのJavaScript

固定サイドバーを実装するにはJavaScriptを使用します。参考までに、具体的な内容は次のとおりで...