Linux で MySQL のスケジュールバックアップを実装する方法

Linux で MySQL のスケジュールバックアップを実装する方法

実際のプロジェクトでは、緊急事態を防ぐためにデータベースを頻繁にバックアップする必要があります。しばらく前に、私のデータベースが侵入され、すべてのデータが失われました。幸いなことに、当時はテストデータベースに過ぎませんでした。しかし、この危機の後、私はこの問題に気づき始めました。

まず、テスト データベース バックアップ コマンドを記述します。

#!/bin/sh
DB_USER="ルート"
DB_PASS="1234"
DB_DATA_NAME="hzl"
BakDir="/data/mysql-data-back"
「/usr/bin/mysqldump」をエコーし​​ます
echo "------------------------------------------" >> $BakDir
echo $(date +"%y-%m-%d %H:%M:%S") >> $BakDir
 
cd $BakDir
/usr/bin/mysqldump --no-defaults -u$DB_USER -p$DB_PASS $DB_DATA_NAME|gzip > $BakDir/db_`date +%F`.gz
 
終了 0

コマンドは上記のとおり、シェル ファイルに直接書き込まれます。ファイルが正常に実行されると、ディレクトリ内にバックアップ .gz ファイルを手動で生成できます。

最初は .sh ファイルは実行できないことに注意してください。

chmod +x sqlAutoBak.sh

さて、上記は比較的簡単です。では、スクリプトを毎日自動的に実行するようにする主な部分を始めましょう。

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

crontab -l

実行されたスクリプトのリストが表示され、インストールが成功したことが示されます。お持ちでない場合は、オンラインでインストールチュートリアルを探してください。

[root@VM_0_4_centos ~]# crontab -l
*/1 * * * * /usr/local/qcloud/stargate/admin/start.sh > /dev/null 2>&1 &

2. crontabサービスにバックアップスクリプトを追加する

crontab -e

編集モードに入るにはaキーを押してください

0 */1 * * * /home/work/start-service.sh と入力

編集モードを終了するにはCtrl+Cを押してください

Shift+:を押してwqと入力し、crontabを終了します。

結果を見てみましょう

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • Linux での MySQL マルチインスタンスの展開とインストール ガイド
  • Linux での MySQL 8.0.25 のインストールと設定のチュートリアル
  • Linux ホスト上で複数の MySQL データベースを起動する方法
  • Linux mysql5.5 を mysql5.7 にアップグレードする手順と落とし穴
  • Linux に mysql をインストールするときに /etc に my.cnf ファイルがない問題を解決する
  • Linux で Docker を使用して MySQL をインストールする手順
  • Linux でリモート MySQL データベースを手動で展開する方法の詳細な説明
  • Linuxでmysqlの定期的なコールドバックアップを実装するためにmysqldump+expect+crontabを使用するアイデアの詳細な説明
  • Aliyun Linux のコンパイルとインストール php7.3 tengine2.3.2 mysql8.0 redis5 プロセスの詳細な説明
  • Linux mysql-5.6 でルート パスワードをリセットする方法
  • MySQL を使用してポート 3306 を開いたり変更したり、Ubuntu/Linux 環境でアクセス許可を開く
  • MySQL スケジュール バックアップ ソリューション (Linux crontab を使用)
  • Linux環境にMySQLデータベースをインストールする詳細なチュートリアル
  • Linux でリモートから MySQL を自動的にバックアップする方法
  • Linux MySQL ルートパスワードを忘れた場合の解決方法
  • Linux で mysql-8.0.20 をインストールするための詳細なチュートリアル
  • MyCat を使用して Linux で MySQL マスター/スレーブの読み取り/書き込み分離を実装する方法

<<:  jsドラッグ効果の原理と実装

>>:  Nginx の起動に失敗した場合のいくつかのエラー処理の詳細な説明

推薦する

div の幅が width:100% に設定されていて、パディングまたはマージンが親要素を超えてしまう問題の解決方法

序文この記事では、div の幅を 100% に設定し、親要素を超えてパディングまたはマージンを設定す...

TypeScript の関数

目次1. 関数の定義1.1 JavaScript の関数1.2 TypeScriptの関数2. オプ...

Vue のグローバル ウォーターマーク実装例

目次1. 透かしのJsファイルを作成する2. 導入操作2.1 App.vueや他のページでの参照2....

vue3 キャッシュページキープアライブと統合ルーティング処理の詳細な説明

目次1. はじめに2. 使用1. vue2とvue3の違い2. ページ上の一部のデータはキャッシュす...

Windows Server 2008 のサーバー パフォーマンス監視に関するチュートリアル

次に、ログ管理、ログのアーカイブ、ログのトラブルシューティング、イベントの転送と収集のためのコンピュ...

Vant+postcss-pxtoremはブラウザ適応機能を実装します

Remレイアウトの適応Vant のスタイルでは、デフォルトで px を単位として使用します。rem ...

「いいね!」機能では MySQL と Redis のどちらを使用すればよいでしょうか?

目次1. 初心者が陥りがちな間違い2. Iteratorのremove()メソッドを使用する3. f...

Linuxシステムにおけるキー認証に基づくSSHサービスのプロセス

ご存知のとおり、SSH は現在、リモート ログイン セッションやその他のネットワーク サービスにセキ...

仮想マシンのディスクサイズを拡張する方法

Vmvare が仮想マシンのディスク サイズを設定した後、ディスク領域が不足していることがわかりまし...

js タグ構文の使用法の詳細

目次1. ラベルステートメントの紹介2. ラベルステートメントの使用序文:日常の開発では、プログラム...

MySQL で重複レコードをクエリして削除する方法の完全なガイド

序文この記事では主に、MySQL で重複レコードをクエリして削除する方法を紹介します。参考と学習のた...

Dockerは指定されたメモリで操作を実行します

次のように: -m, --memory メモリ制限。形式は数値と単位です。単位は b、k、m、g の...

MySQL 8.0.22 圧縮パッケージの完全なインストールと構成のチュートリアル図 (テスト済みで効果的)

1. zipインストールパッケージをダウンロードするMySQL サーバー 8.0.22 の圧縮パッ...

Linux の MySQL 設定の変更が有効にならない問題の解決方法

背景AWS EC2 を使用するプロジェクトサービスがあります。セキュリティとパフォーマンスを考慮して...

ローカル yum ソースの設定、国内 yum ソースの設定、epel ソースの設定を行う Linux の手順

1. ローカルyumソースを設定する1. ISOイメージをマウントする マウント -o loop /...