简体   繁体   English

Mysqldump多个表?

[英]Mysqldump more than one table?

如何使用mysqldump转储以公共前缀开头的某些表?

Hehe, this is kind of a hack, but it works (using bash): 呵呵,这是一种黑客攻击,但它有效(使用bash):

mysqldump -u USER -p DATABASE $(mysql -u USER -p -D DATABASE -Bse "show tables like 'PREFIX%'") > /tmp/DATABASE.out

Change the ALLCAPS words as needed. 根据需要更改ALLCAPS单词。

You can create backup.sh script: 您可以创建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

Hope it help. 希望它有所帮助。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM