求批量导出mysql数据库备份文件的命令

我现在是在定时任务里这样做的


#导出数据库,一个数据库一个压缩文件
for db in `/usr/bin/mysql -u$MYSQL_USER -p$MYSQL_PASS -B -N -e 'SHOW DATABASES' | xargs`; do
  (/usr/bin/mysqldump -u$MYSQL_USER -p$MYSQL_PASS ${db} | gzip -9 - > ${db}.sql.gz)
done


由于我的系统安装的是da虚拟主机面板,没有mysql的root用户,只有da_admin用户,所以这条导出全部的mysql数据库备份的命令时,系统提示:
mysqldump: Got error: 1044: Access denied for user 'da_admin'@'localhost' to database 'information_schema' when using LOCK TABLES

其实这个表'information_schema'我不需要导出的,所以可以把它忽略


但是我要导出其他的mysql数据库,请问有什么好的命令吗?

作者: wzwen   发布时间: 2011-05-09

SHOW DATABASES like '%dbname%'

作者: rucypli   发布时间: 2011-05-09

把show databases换成select SCHEMA_NAME from information_schema.SCHEMATA where schema_name not like 'inform%';

作者: rucypli   发布时间: 2011-05-09