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

推薦する

Linux statコマンドの使用

1. コマンドの紹介stat コマンドは、ファイルまたはファイル システムに関する詳細情報を表示する...

テーブルの4辺を上下左右にスクロールするように固定する方法

質問:最近、プロジェクトの統計を行っていたときに、テーブルを上下にスクロールしたときにテーブルの先頭...

MySQL レプリケーションの利点と原則を詳しく説明します

レプリケーションとは、マスター データベースの DDL および DML 操作をバイナリ ログを介して...

Centos7 への mysql8.0rpm のインストール チュートリアル

まず、図をダウンロードしてください 1. まず、centos7に付属しているmariadbをアンイン...

dockerを使用してdubboプロジェクトをデプロイする方法

1. まず、Springbootを使用して簡単なDubboテストプログラムを構築し、関連する依存関係...

JSON.parse と JSON.stringify の使い方の詳細な説明

目次JSON.パースJSON.parse 構文リバイバーパラメータJSON.parse の機能その他...

Linux ncコマンドの概要

NC のフルネームは Netcat (Network Knife) で、作成者は Hobbit &a...

Dockerでランナーコンテナを構成する方法

1. ランナーコンテナを作成する mk@mk-pc:~/Desktop$ docker run -d...

vuex での Getter の使用法の詳細な説明

序文Vuex を使用すると、ストア内に「ゲッター」を定義できます (これはストアの計算されたプロパテ...

HTML における画像タグの使用方法の詳細な説明

HTML では、<img> タグはテキスト内の画像タグを定義するために使用されます。その...

VMware15 の CentOS7 インストールの詳細なプロセスとよくある問題 (画像とテキスト)

1. インストールパッケージの準備VMware-player-15.0.4-12990004、非商...

MySQLクエリは、フィールドが数値とカンマではないことを指定します。

コアSQL文数字を含まない MySQL クエリ ステートメント: SELECT * FROM tes...

vue.js ルーターのネストされたルートの実例

目次序文Vue CLI での設定基本コードVueルーターの登場ネストされたルートの設定要約する序文V...

Webpack でよく使われる 12 個の Loader を共有する (要約)

目次序文スタイルローダーCSSローダーsassローダーpostcssローダーバベルローダーtsローダ...