使用mysqldump将多个数据库单独备份至独立的文件中

原文链接:https://mensfeld.pl/2013/04/backup-mysql-dump-all-your-mysql-databases-in-separate-files/

有时候我们需要备份MySQL实例中的所有的数据库,直接使用mysqldump只能将所有数据备份到一个文件中。

mysqldump -u root -p --all-databases > all_dbs.sql

如果我们想将每个数据单独备份到独立的文件中,可以使用如下的脚本。


#! /bin/bash
TIMESTAMP=$(date +"%F")
BACKUP_DIR="/backup/$TIMESTAMP"
MYSQL_USER="backup"
MYSQL=/usr/bin/mysql
MYSQL_PASSWORD="password"
MYSQLDUMP=/usr/bin/mysqldump
 
mkdir -p "$BACKUP_DIR/mysql"
 
databases=`$MYSQL --user=$MYSQL_USER -p$MYSQL_PASSWORD -e "SHOW DATABASES;" | grep -Ev "(Database|information_schema|performance_schema)"`
 
for db in $databases; do
  $MYSQLDUMP --force --opt --user=$MYSQL_USER -p$MYSQL_PASSWORD --databases $db | gzip > "$BACKUP_DIR/mysql/$db.gz"
done
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 刚洗漱完躺下,并不是忙或是玩到现在,只是从沙发(脏脏地就窝躺了三四个小时)上迁居回床上。 约了五点起床的跑步估计没...
    恰逢此时路过阅读 189评论 0 2
  • 推迟满足感,打破惯性思维。 大多数人的本能反应就是趋利避害,先易后难的。可能大家都有过这样的经历,从小到大每到考试...
    大晶的一亩三分地阅读 153评论 0 1
  • 说到写作,我还没晋升到这资格,只是学着涂涂画画吧了,没什么可阅读的价值。因此有人看到我的文章出现在朋友圈或微信...
    暗香疏影手笔阅读 737评论 8 25