Backup

如何從集體備份中僅恢復一個 mysql 數據庫

  • November 9, 2011

我有一個使用 –all-databases 選項的預定 mysqldump 任務。這包括一個文件中的所有數據庫。

如何告訴 mysql 導入轉儲文件中包含的數據庫之一?

-M


謝謝你們的回答。非常感謝……我最終沒有使用 –all-databases 選項。這是一個替代腳本:

#! /bin/bash
date=`date +%A`
for i in /var/lib/mysql/*/; do
dbname=`basename $i`
mysqldump -u <whatever username> --password=<whatever pw>--single-transaction $dbname > <path>/$date/$dbname-backup.sql
done

編輯轉儲文件以提取與感興趣的數據庫相關的語句,或者將整個轉儲載入到臨時數據庫伺服器並僅轉儲感興趣的數據庫。

這就是為什麼知情人士將他們的數據庫轉儲到單獨的文件中的原因。

這是另一個修改。

for i in $(mysql -N -e 'show databases' -uroot -p'password' ); do mysqldump -uroot -p'password' $i | gzip -9c > /root/backups/$i\_$(date +\%Y-\%m-\%d_\%Hh\%M).sql.gz; done

引用自:https://serverfault.com/questions/95962