求批量导出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数据库,请问有什么好的命令吗?
#导出数据库,一个数据库一个压缩文件
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