15
如何使用mysqldump
轉儲以通用前綴開頭的某些表?Mysqldump多個表?
如何使用mysqldump
轉儲以通用前綴開頭的某些表?Mysqldump多個表?
呵呵,這是怎樣的一個黑客,但它的工作原理(使用bash):根據需要
mysqldump -u USER -p DATABASE $(mysql -u USER -p -D DATABASE -Bse "show tables like 'PREFIX%'") > /tmp/DATABASE.out
更改ALLCAPS話。
您可以創建backup.sh腳本:
BACKUP_DIR="/path/to/backups"
DB_HOST="domain.com"
DB_USER="user"
DB_PASS="pass"
PREFIX="phpbb"
TMP_LIST = mysql --host=$DB_HOST --user=$DB_USER --password=$DB_PASS -e "show databases;" | grep $PREFIX
# just get to database name column (may be $1, don't remember)
TMP_LIST = cat $TMP_LIST | awk '{print $2}'
# Getting dbs
mkdir $BACKUP_DIR/tmp
for db in $TMP_LIST ; do
mysqldump --host=$DB_HOST --user=$DB_USER --password=$DB_PASS --opt $db > $BACKUP_DIR/tmp/$db.sql
zip -mj $BACKUP_DIR/tmp/$db.sql.zip $BACKUP_DIR/tmp/$db.sql 2>&1
done
希望它能幫助。
不錯的黑客,它工作完美,謝謝... – mabuzer 2010-06-01 12:25:04
這個其他答案是一個騙局,但它進入了一個更深入,我認爲。 http://stackoverflow.com/a/5269543/8047 – 2012-07-21 21:57:49
@unutbu當我嘗試執行此操作時,出現以下錯誤:「mysqldump:未知選項'-D'」。有什麼想法嗎?當我只運行括號內的mysql部分時,它會輸出我想要轉儲的表 - 但是當我嘗試在mysqldump語句中使用它時會引發錯誤。 – dayne 2013-07-01 20:00:48