Mysqldump more than one table?

生来就可爱ヽ(ⅴ<●) 提交于 2019-12-03 05:57:09

问题


How can I use mysqldump to dump certain tables that start with common prefix?


回答1:


Hehe, this is kind of a hack, but it works (using 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.




回答2:


You can create backup.sh script:

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.



来源:https://stackoverflow.com/questions/2949330/mysqldump-more-than-one-table

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!