Skip to content

MySQL之导出所有数据库

脚本内容

shell
#!/usr/bin/env bash
# mysqldump是MySQL提供的一个命令行工具,用于备份MySQL数据库
# 格式:mysqldump -u [用户名] -p[密码] [其他选项] [数据库名] > [备份文件.sql]
# [用户名] 是你用来连接MySQL服务器的用户名。
# [密码] 是该用户的密码。注意,-p 后面不要加空格。
# [其他选项] 可以是 --databases(备份单个数据库),或者是 --all-databases(备份所有数据库)等。
# [数据库名] 是你想要备份的数据库名。
# [备份文件.sql] 是备份文件的名字,你可以将备份保存到任何路径。
# -----------------------------------------------------
# 作用:备份所有数据库
# author odboy
DATABASE_USERNAME="$1"
DATABASE_PASSWORD="$2"
if [[ -z $DATABASE_USERNAME ]]; then
    echo "请输入用户名, 格式:DumpOneBD.sh [用户名] [密码] [数据库名]"
    exit 100
fi
if [[ -z $DATABASE_PASSWORD ]]; then
    echo "请输入密码, 格式:DumpOneBD.sh [用户名] [密码] [数据库名]"
    exit 100
fi
BACKUP_UUID=$(date '+%Y%m%d%H%M%S')
mysqldump -u ${DATABASE_NAME} -p${DATABASE_PASSWORD} --all-databases > ~/mysql_backup_${BACKUP_UUID}.sql
if [ $? -ne 0 ]; then
    echo "备份数据库失败"
    exit 100
fi
echo "备份数据库成功,备份文件所在路径:~/mysql_backup_${BACKUP_UUID}.sql"

执行方式

shell
./DumpAllBD.sh [用户名] [密码]