如何用一个命令导出一定数量的MySql数据库

我需要导出大约20数据库在一个MySql服务器,其中包含大约100个不同的数据库,有可能使用控制台命令导出数据库名称列表到单独的文件? (当然是在Linux下)。

echo "show databases" | mysql -N | while read db do mysqldump ${db} > ${db}.sql done 

您可以使用grep来移除不需要的数据库,如mysqlinformation_schema

创build一个文本文件,其中包含要备份的每个数据库的名称

例如

 db1 reports 

然后使用这样的脚本

 #!/bin/bash ERRORS=0 while read db do echo "Processing $db" mysqldump -u root -p365576dx "$db" >"$db".sql EXITSTATUS=$? if [ "$ERRORS" -eq "0" -a "$EXITSTATUS" -ne "0" ] then ERRORS="$EXITSTATUS" fi done<dbstodump if [ "$ERRORS" -ne "0" ] then echo "Errors occurred see above for details" exit 1 fi 

最简单的解决scheme就是在命令行上简单的进行循环。 在我的例子中,我想导出数据库的carsanimalscomputers

 for db in cars animals computers ; do mysqldump -uuser -ppassword "$db" > "$db.sql" ; done