Linux でリモートから MySQL を自動的にバックアップする方法

Linux でリモートから MySQL を自動的にバックアップする方法

序文:

基本的に、自社で使用する場合でも、顧客向けにサーバーを展開する場合でも、MySQL のバックアップは不可欠な部分です。ここでは、Linux で自動オフサイト バックアップを実現する方法を紹介します。

  • mysql_backup.shはデータのバックアップに使用されます
  • mysql_restore.shはデータの復元に使用されます
  • remove_backup.shは、一定期間前のバックアップファイルを削除するために使用されます。

1. データのバックアップの準備

1.1 バックアップディレクトリを作成する

注: ここでは、バックアップファイルを/data/backup/mysqlの下に置き、スクリプトを/data/backupの下に置きます。

フォルダを作成します(すでに作成されている場合は無視してください)

mkdir -p /data/backup/mysql
cd /データ/バックアップ

1.2 スクリプトファイルを作成する

mysql_backup.sh スクリプトを作成する

vi mysql_backup.sh

次のスクリプトの内容を貼り付けます

#!/bin/bash
# 必要に応じて自分で変更してください #db_user='root'
#db_password=`cat /data/www/mysql_password`
db_name='ウーチーロン'
バックアップディレクトリ='/data/backup/mysql/'
現在の時刻=$(日付 +'%Y-%m-%d_%H%M%S')
ファイルパス=$backup_dir$current_time'.sql.gz'
#$db_password $db_user はここでは使用されません。これは構成ファイルに書き込まれています echo 'データベースのエクスポートを開始します...'
mysqldump --defaults-extra-file=/data/backup/my_mysql.cnf $db_name | gzip > $filepath
echo 'エクスポート成功、ファイル名: '$filepath

現在のディレクトリ(/data/backup)に新しい設定ファイルを作成します。

vi my_mysql.cnf

以下はファイルの内容です。ここではエクスポートできるファイルサイズの上限を設定できます。

ここでのホストは、バックアップ元となるサーバーです。

[mysqlダンプ]
最大許容パケット = 400M
ホスト=IPアドレス (192.168.1.**)
ユーザー=root
パスワード='root'
[mysql]
ホスト=IPアドレス (192.168.1.**)
ユーザー=root
パスワード='root'

エクスポートされたシェル スクリプトの準備ができました。次に、それに権限を追加します。

chmod +x ./mysql_backup.sh

次のコマンドを使用してエクスポートできます

sh ./mysql_backup.sh
# 結果を確認する ll ./mysql 

要約する

Linux での MySQL 自動リモート バックアップに関するこの記事はこれで終わりです。Linux での MySQL 自動リモート バックアップの詳細については、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 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 のスケジュールバックアップを実装する方法
  • Linux mysql-5.6 でルート パスワードをリセットする方法
  • MySQL を使用してポート 3306 を開いたり変更したり、Ubuntu/Linux 環境でアクセス許可を開く
  • MySQL スケジュール バックアップ ソリューション (Linux crontab を使用)
  • Linux環境にMySQLデータベースをインストールする詳細なチュートリアル
  • Linux MySQL ルートパスワードを忘れた場合の解決方法
  • Linux で mysql-8.0.20 をインストールするための詳細なチュートリアル
  • MyCat を使用して Linux で MySQL マスター/スレーブの読み取り/書き込み分離を実装する方法

<<:  Docker の MySQL コンテナのタイムゾーン問題の修正

>>:  この記事では、CSSのようなJSモジュールをインポートする方法を説明します。

推薦する

ハイパーリンクAタグを学ぶ

聞く: CSS を使用してハイパーリンクのスタイルを設定しましたが、ホバーしても機能しません。なぜこ...

mysql5.5.28 のインストール チュートリアルは非常に詳細です。

参考までにmysql5.5.28のインストールチュートリアルです。具体的な内容は次のとおりです。イン...

CSS3 transition-delay属性のデフォルト値が単位なしの0であり無効である問題を解決します

今日は、CSS3 の transition-delay 属性のデフォルト値 0 に単位がないのは無効...

JSコードコンパイラMonacoの使い方

序文私が必要としているのは、構文の強調表示、関数プロンプト、自動行折り返し、およびコードの折りたたみ...

mysql8.0.14.zip のインストール中にデータ フォルダを自動的に作成できませんでした。サービスを開始できません。

今日システムを再インストールした後、コンピューターに mysql を再インストールし、ZIP ファイ...

JavaScript で長い画像のスクロール効果を実装する

この記事では、JavaScriptの長い画像スクロールの具体的なコードを参考までに共有します。具体的...

VirtualBoxにOpenSuseをインストールする方法

仮想マシンはホストマシンにインストールされます。 CPU とメモリはホスト マシンと共有する必要があ...

チャットバブル効果を実現するCSS

1. レンダリングJD効果シミュレーション効果 2. 原則高さと幅が0のボックスを用意しますこのボ...

MySQLの空の値とnull値の違いを知っていますか?

序文最近、友人がSQLを書くときにnull値を判定する方法が間違っていて、プログラム内のデータにエラ...

Docker を使用してイメージをローカルにパッケージ化してデプロイする方法

初めてDockerを使用してイメージをローカルにパッケージ化してデプロイするまず、私のラップトップシ...

ウェブデザインにおけるポップアップウィンドウとフローティングレイヤーのデザイン

従来のソフトウェアから Web ウェアへの段階的な移行の傾向の中で、デザイン パターンとテクノロジは...

MySQL ジョイントテーブル更新デー​​タの詳細な例

1.MySQL UPDATE JOIN構文MySQL では、UPDATE ステートメントでJOIN句...

MySQL がユーザー名とパスワードの漏洩を引き起こす可能性のある Riddle の脆弱性を公開

MySQL バージョン 5.5 および 5.6 を標的とする Riddle 脆弱性により、中間者攻撃...

jQueryは検証コード送信のコントロールボタンを無効にする機能を実装します

必要な効果: 確認コードを送信するためにクリックした後、ボタンは無効になり、5 秒後に無効解除されま...

CSS コンテナ背景 10 色グラデーション デモ (linear-gradient())

文法 背景: linear-gradient(direction,color-stop1,color...