批量分别备份所有 mysql 数据库

网上找了很多方法都不是我想要的。

目标是要将所有的数据库各自备份到一个 .sql 文件里面。

下面的脚本实现了这个功能。

原理是,先查询所有数据库,遍历之,然后在循环里面逐个执行备份脚本,跳过所有需要忽略的系统数据库。

echo "Dump mysql databases..."

DB_USER=root
DB_PASSWORD=root

mkdir mysql

DB_LIST=$(echo "show databases;" | mysql -uroot -pwwwfox)
for db in ${DB_LIST}
do
  if [ $db != "Database" ] && [ $db != "mysql" ] &&
      [ $db != "phpmyadmin" ] && [ $db != "information_schema" ] &&
      [ $db != "performance_schema" ]; then
    echo "  backup "$db
    mysqldump -u${DB_USER} -p${DB_PASSWORD} $db > mysql/$db.sql
  fi
done

【转载请附】愿以此功德,回向 >>

原文链接:https://www.huangwenchao.com.cn/2015/06/mysql-backup-all.html【批量分别备份所有 mysql 数据库】

发表评论

电子邮件地址不会被公开。 必填项已用*标注