一次性导出和导入所有MySQL数据库
一次性导出和导入所有MySQL数据库
我想保留我所有MySQL数据库的备份。我有超过100个MySQL数据库。我想同时导出它们并再次一次性导入它们到我的MySQL服务器中。我该怎么办?
admin 更改状态以发布 2023年5月20日
其他解决方案:
它将每个数据库备份为不同的文件
#!/bin/bash USER="zend" PASSWORD="" #OUTPUT="/Users/rabino/DBs" #rm "$OUTPUTDIR/*gz" > /dev/null 2>&1 databases=`mysql -u $USER -p$PASSWORD -e "SHOW DATABASES;" | tr -d "| " | grep -v Database` for db in $databases; do if [[ "$db" != "information_schema" ]] && [[ "$db" != "performance_schema" ]] && [[ "$db" != "mysql" ]] && [[ "$db" != _* ]] ; then echo "Dumping database: $db" mysqldump -u $USER -p$PASSWORD --databases $db > `date +%Y%m%d`.$db.sql # gzip $OUTPUT/`date +%Y%m%d`.$db.sql fi done
导出:
mysqldump -u root -p --all-databases > alldb.sql
查看mysqldump的文档。您可能希望使用评论中提到的某些选项:
mysqldump -u root -p --opt --all-databases > alldb.sql mysqldump -u root -p --all-databases --skip-lock-tables > alldb.sql
导入:
mysql -u root -p < alldb.sql