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 ソースをビルドする方法

推薦する

シンプルなID生成戦略: MySQLテーブルからグローバルに一意のIDを生成する実装

グローバル ID を生成する方法は多数あります。ここでは簡単な解決策を紹介します。MySQL の自動...

3列レイアウトを実現するCSS3フレキシブルボックスフレックス

タイトルの通り、高さは既知で、左と右の列の幅は 300 ピクセル、中央は適応型です。弾性ボックス自体...

GTK ツリービューの原理と使用法の分析

GtkTreeView コンポーネントは、美しい通常のリストやツリーのようなリストを作成できる高度な...

Node.js コード実行をバイパスするためのヒントのまとめ

目次1. 子プロセス2. nodejsでのコマンド実行2.1 16進数エンコード2.2 ユニコードエ...

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

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

面接でよく聞かれる Vue 修飾子 13 個

目次1. 怠惰な2.トリム3.番号4.停止5. キャプチャ6.自分7.一度8.予防する9.ネイティブ...

Ubuntu 20.04 に MySql5.7 をインストールして構成するための詳細なチュートリアル

目次1. Ubuntuソースの変更2. MySQLをインストールする3. 新しいユーザーを作成し、権...

MYSQL開発パフォーマンス調査:バッチデータ挿入の最適化方法

1. どのような問題に直面しましたか?標準 SQL では、通常、次の SQL 挿入ステートメントを記...

mysql5.6.zip形式の圧縮版インストールグラフィックチュートリアル

はじめに: MySQL は、スウェーデンの MySQL AB によって開発されたリレーショナル デー...

収集する価値のある Linux ドキュメント編集コマンド 27 個

Linux col コマンドLinux の col コマンドは制御文字をフィルタリングするために使用...

HTML で Flash を読み込む方法 (2 つの実装方法)

最初の方法: CSSコード:コードをコピーコードは次のとおりです。 .b970-a{幅:970px;...

MySQL MHA の高可用性構成とフェイルオーバーの詳細な導入手順

目次1. MHAの紹介1. MHAとは何ですか? 2. MHAの構成3. MHAの特徴2. MySQ...

WeChatアプレットはビデオプレーヤーのビデオコンポーネントを使用します

この記事の例では、WeChatアプレットのビデオプレーヤーコンポーネントの具体的なコードを参考までに...

Vue イメージ ドラッグ アンド ドロップ ズーム コンポーネントの使用方法の詳細な説明

Vueイメージドラッグアンドドロップズームコンポーネントの具体的な使い方は参考までに。具体的な内容は...

js の hasOwnProperty のプロパティとインスタンスの使用法の詳細な説明

1. js は hasOwnProperty が不正に占有されることから保護しません。オブジェクトに...