mysql5.7导出指定数据库的全部数据,并忽略多张表,如何写脚本
时间: 2024-10-24 13:05:56 浏览: 27
mysql数据库全文多库多表查找,查询所有数据库中包含指定字符的数据。
5星 · 资源好评率100%
在MySQL 5.7中,如果你只想导出某个数据库的特定部分,而不是所有表的数据,你可以编写一个shell脚本来完成这个任务。这里是一个简单的bash shell脚本示例,它会忽略指定的表:
```bash
#!/bin/bash
# 设置数据库信息
DB_NAME="your_database_name"
EXCLUDED_TABLES=("table1", "table2") # 要忽略的表名列表
# 创建备份文件名
BACKUP_FILE="/path/to/backup.sql"
# 使用mysqldump命令导出数据库(排除指定表)
mysqldump -u [username] -p[password] $DB_NAME \
--skip-table=$EXCLUDED_TABLES[*] \
--no-create-info \
--no-data \
--quick \
> $BACKUP_FILE
echo "Backup of $DB_NAME excluding tables $EXCLUDED_TABLES completed."
# 提示用户输入密码
read -s -p "Enter your MySQL password for $DB_NAME: " MYSQL_PASSWORD
echo "" # 按回车键清空输入行
# 加密密码并执行备份
mysql -e "GRANT ALL PRIVILEGES ON $DB_NAME.* TO 'new_user'@localhost IDENTIFIED BY '$MYSQL_PASSWORD'; FLUSH PRIVILEGES;" $DB_NAME
mysql -u new_user -p$MYSQL_PASSWORD $DB_NAME < $BACKUP_FILE
echo "Backup restored with granted privileges."
#
阅读全文