掉落在MySQL数据库中的所有

问题描述 投票:10回答:3

我们有我们的MySQL数据库多,我们希望shrink/purge ibdata1 file in MySQL

我们怎样才能删除所有从MySQL除了information_schemamysqld数据库的数据库?

mysql
3个回答
19
投票

以下命令会删除在MySQL DBMS所有数据库除的MySQL,INFORMATION_SCHEMA和performance_schema DBS。

mysql -uroot -p<password> -e "show databases" | grep -v Database | grep -v mysql| grep -v information_schema| gawk '{print "drop database `" $1 "`;select sleep(0.1);"}' | mysql -uroot -p<password>

由于Mohinish的博客post


1
投票

如果您有跨数据库外键,或数据库名称中使用MySQL的保留字,如“订单”,Sukhjinder辛格回答的这种变化会工作。

mysql -u<user> -p<password> -e "show databases" | grep -v Database | grep -v mysql | grep -v information_schema | gawk '{print "SET FOREIGN_KEY_CHECKS = 0;drop database “$ 1” ;select sleep(0.1);"}' | mysql -u<user> -p<password>


0
投票

按照此link - 它演示了如何做到这一点!

所使用的凭证是:

mysql -uroot -p -e "show databases" | grep -v Database |
grep -v mysql| grep -v information_schema| grep -v test |
grep -v OLD |gawk '{print "drop database " $1 ";select sleep(0.1);"}' |
mysql -uroot -ppassword
© www.soinside.com 2019 - 2024. All rights reserved.