导出数据
#!/bin/bash
# 导出文件的目录
EXPORT_DIR="/path/to/db"
# 设置MySQL用户名和密码(可以修改为你的MySQL用户名和密码)
MYSQL_USER="root" # 你的MySQL用户名
MYSQL_PASSWORD="123456" # 你的MySQL密码
# 定义要导出的数据库名称数组
DATABASES=("db1" "db2" "db3")
# 检查导出目录是否存在,如果不存在则创建
mkdir -p "$EXPORT_DIR"
# 遍历数据库数组并导出
for DB_NAME in "${DATABASES[@]}"; do
OUTPUT_FILE="$EXPORT_DIR/$DB_NAME.sql"
echo "正在导出数据库 $DB_NAME 到 $OUTPUT_FILE"
# 执行mysqldump命令导出数据库
mysqldump -u $MYSQL_USER -p$MYSQL_PASSWORD $DB_NAME > "$OUTPUT_FILE"
# 检查是否导出成功
if [ $? -eq 0 ]; then
echo "数据库 $DB_NAME 导出成功,保存路径:$OUTPUT_FILE"
else
echo "数据库 $DB_NAME 导出失败,请检查连接设置或路径"
fi
done
导入数据库
#!/bin/bash
# 定义导入文件的目录
IMPORT_DIR="/path/to/export"
# 设置MySQL用户名和密码(可以修改为你的MySQL用户名和密码)
MYSQL_USER="root" # 你的MySQL用户名
MYSQL_PASSWORD="your_password" # 你的MySQL密码
# 检查导入目录是否存在
if [ ! -d "$IMPORT_DIR" ]; then
echo "导入目录 $IMPORT_DIR 不存在,请检查路径。"
exit 1
fi
# 遍历导入目录中的每个 .sql 文件
for SQL_FILE in "$IMPORT_DIR"/*.sql; do
# 提取数据库名称(假设数据库名称与文件名一致)
DB_NAME=$(basename "$SQL_FILE" .sql)
echo "正在导入文件 $SQL_FILE 到数据库 $DB_NAME"
# 创建数据库(如果不存在)
mysql -u $MYSQL_USER -p$MYSQL_PASSWORD -e "CREATE DATABASE IF NOT EXISTS $DB_NAME;"
# 导入SQL文件到数据库
mysql -u $MYSQL_USER -p$MYSQL_PASSWORD $DB_NAME < "$SQL_FILE"
# 检查是否导入成功
if [ $? -eq 0 ]; then
echo "数据库 $DB_NAME 导入成功"
else
echo "数据库 $DB_NAME 导入失败,请检查连接设置或文件格式"
fi
done