mysql 多个库_MYSQL 导出多个库

root@Debian:~# cat dumphelp.sh

DATABASES_TO_EXCLUDE="test"

EXCLUSION_LIST="'information_schema','mysql'"

for DB in `echo "${DATABASES_TO_EXCLUDE}"`

do

EXCLUSION_LIST="${EXCLUSION_LIST},'${DB}'"

done

SQLSTMT="SELECT schema_name FROM information_schema.schemata"

SQLSTMT="${SQLSTMT} WHERE schema_name NOT IN (${EXCLUSION_LIST})"

MYSQLDUMP_DATABASES="--databases"

for DB in `mysql -uroot -ANe"${SQLSTMT}"`

do

MYSQLDUMP_DATABASES="${MYSQLDUMP_DATABASES} ${DB}"

done

MYSQLDUMP_OPTIONS="--single-transaction --skip-opt --create-options  --master-data=2 -q -uroot --default-character-set=utf8"

mysqldump ${MYSQLDUMP_OPTIONS} ${MYSQLDUMP_DATABASES} > MySQLDatabases.sql

上述脚本参数-B mysql做了限制1024 ,所以对脚本进行了优化。现在可以导出超过1024个库的mysql

DATABASES_TO_EXCLUDE="test,performance_schema"

EXCLUSION_LIST="'information_schema','mysql',test"

for DB in `echo "${DATABASES_TO_EXCLUDE}"`

do

EXCLUSION_LIST="${EXCLUSION_LIST},'${DB}'"

done

SQLSTMT="SELECT schema_name FROM information_schema.schemata"

SQLSTMT="${SQLSTMT} WHERE schema_name NOT IN (${EXCLUSION_LIST})"

MYSQLDUMP_DATABASES="--databases"

MYSQLDUMP_OPTIONS="--single-transaction --skip-opt --create-options  --master-data=2 -q -uroot --default-character-set=utf8"

for DB in `mysql -uroot -ANe"${SQLSTMT}"`

do

mysqldump ${MYSQLDUMP_OPTIONS} $MYSQLDUMP_DATABASES $DB >> MySQLDatabases.sql

done

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值