mysql バックアップ スクリプト mysqldump の使い方の詳細な説明

mysql バックアップ スクリプト mysqldump の使い方の詳細な説明

この記事では、参考までにMySQLバックアップスクリプトを紹介します。具体的な内容は次のとおりです。

#!/bin/bash
#フルバックアップモード。通常はスレーブマシンで実行され、小規模および中規模のMySQLデータベースに適しています。#15日以上前のバックアップを削除します。#作成者: fafu_li
#日付: 2015.08.10

source /etc/profile #システム環境変数をロードsource ~/.bash_profile #ユーザー環境変数をロードset -o nounset #初期化されていない変数を参照したときに終了する#set -o errexit #シェルコマンドの実行時にエラーが発生したときに終了するuser="root"
パスワード="123456"
ホスト="localhost"
ポート="3306"
#バックアップするデータベース、配列 db=("test")
#バックアップ中のロックモード、
#MyISAM はテーブル --lock-all-tables によってロックされています。
#InnoDB は行をロックします --single-transaction
ロック="--シングルトランザクション"
mysql_path="/usr/local/mysql"
バックアップパス="${mysql_path}/バックアップ"
日付=$(日付 +%Y-%m-%d_%H-%M-%S)
日=15
バックアップログ="${mysql_path}/backup.log"

#バックアップディレクトリを作成する if [ ! -e $backup_path ]; then
  mkdir -p $バックアップパス
フィ

# 前回のバックアップを削除する find $backup_path -type f -mtime +$day -exec rm -rf {} \; > /dev/null 2>&1

echo "データベースのバックアップを開始します: ${db[*]}"

#バックアップと圧縮backup_sql(){
  データベース名=$1
  バックアップ名="${dbname}_${date}.sql"
  #-R ストアドプロシージャ、関数、トリガーをバックアップします。mysqldump -h $host -P $port -u $user -p$password $lock --default-character-set=utf8 --flush-logs -R $dbname > $backup_path/$backup_name  
  [[ $? == 0 ]]の場合
    cd $バックアップパス
    tar zcpvf $バックアップ名.tar.gz $バックアップ名
    サイズ=$(du $backup_name.tar.gz -sh | awk '{print $1}')
    rm -rf $バックアップ名
    echo "$date のバックアップ $dbname($size) が成功しました"
  それ以外
    cd $バックアップパス
    rm -rf $バックアップ名
    echo "$date のバックアップ $dbname が失敗しました"
  フィ
}

#ループバックアップの長さ=${#db[@]}
(( i = 0; i < $length; i++ )); の場合
    backup_sql ${db[$i]} >> $backup_log 2>&1
終わり

echo "バックアップが完了しました。結果は $backup_log で確認してください"
du $backup_path/*$date* -sh | awk '{print "ファイル:" $2 "、サイズ:" $1}'

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

以下もご興味があるかもしれません:
  • Windows での MySQL 自動バックアップのバッチ処理の実装 (ディレクトリのコピーまたは mysqldump バックアップ)
  • MySQLdump コマンドを使用した MySQL データの移行
  • Linux mysqldump によるデータベース、データ、テーブル構造のエクスポートの詳細な説明
  • mysqldumpデータエクスポートの問題に関する詳細な議論
  • mysqldump (MySQL データベースのバックアップとリカバリ) の使用方法についての簡単な説明
  • MySQL データベースを手動および自動でバックアップする 8 つの方法
  • LinuxはMySQLデータベースの自動バックアップとスケジュールバックアップを毎日実装しています
  • MySQL 自動バックアップとリカバリのいくつかの方法の詳細な説明 (グラフィック チュートリアル)
  • CentOS システムで MySQL の自動毎日バックアップを設定する方法
  • Centos7 で mysqldump を使用して MySQL データベースの毎日の自動バックアップを作成する

<<:  vue-routerフック関数はルーティングガードを実装します

>>:  docker+devpi を使用してローカル pypi ソースをビルドする方法

推薦する

Vueはテーブルページング機能を実装します

この記事では、テーブルページング機能を実現するためのVueの具体的なコードを例として紹介します。具体...

Vueタイムラインコンポーネントの使い方

この記事の例では、参考までにvueタイムラインコンポーネントの具体的な実装コードを共有しています。具...

iframeノードの初期化の問題に関する議論

今日、ふとリッチテキストエディタの制作原理を見直してみようと思いました。それで、彼は何も言わずにそれ...

CSS トランジションを使用した円形ホバー効果のサンプルコード

この記事では ソースコードのオンラインプレビューとダウンロード今日のチュートリアルでは、円のホバー効...

Linux Dig コマンドの使用法

発掘紹介: Dig は、Unix ライクなコマンドライン モードで NS レコード、A レコード、M...

JavaScript 配列の include と Reduce の基本的な使用法

目次序文配列.プロトタイプ.includes文法パラメータ戻り値例配列プロトタイプの削減文法パラメー...

マウスの尾行効果を実現する JavaScript

マウス効果では、setTimeout を使用して固定時間にノードを生成し、ノードを削除し、生成された...

MySQLの誤操作後にbinlog2sqlを使用して素早くロールバックする方法の詳細な説明

序文日常の仕事や勉強では、データベースを操作するときに「不注意」によるミスを犯すことは避けられません...

ウェブデザインにおけるインタラクション: ページングの問題に関する簡単な説明

機能: 前のページまたは次のページにジャンプします。要素: ページングの基本要素は、前のページ + ...

CMD で MySQL データベースを操作するときに中国語の文字化けが発生する問題の解決方法

Baiduで検索しました。 。 chcp コマンドを使用して、cmd の文字エンコーディングを 65...

CSS スタイルで一般的なグラフィック効果を示すサンプルコード

一般的な基本グラフィックと私が遭遇するいくつかの小さなアイコンについて簡単に説明します。以下は CS...

JavaScript のアンチシェイクとスロットリングの違いと実装

目次1. 手ぶれ補正2. スロットリング3. まとめ序文:フロントエンド開発者には、次の 2 つの要...

Linuxのシグナルメカニズムについての簡単な説明

目次1. シグナルリスト1.1. リアルタイム信号と非リアルタイム信号1.2 信号ステータス1.3 ...

CentOS 8 に htop をインストールする方法のチュートリアル

システムをインタラクティブに監視したい場合は、htop コマンドが最適な選択肢の 1 つです。 ht...

Vueはブラウザ側のコードスキャン機能を実装します

背景少し前にブラウザカメラの取得とスキャンコード認識の機能を作りました。その際の知識ポイントと具体的...