删除mysql数据库的所有表

・1 分钟阅读

 $ mysql --defaults-file=my.cnf -e 'show tables' | while read t; do mysql --defaults-file=my.cnt -e 'drop table '$t; done

说明

如果你对数据库有root访问权限,则删除数据库+创建数据库是最容易的,在你没有root权限访问数据库的情况下,此脚本非常有用。

首先准备一个文件my.cnf来存储数据库凭据,这样你就不必在命令行中输入:

[client ]

database=dbname

user=dbuser

password=dbpass

host=dbhost

确保使用chmod go-rwx保护此文件。

one-liner将在数据库上执行show tables以列出所有表。然后,while循环读取每个表名,并执行一个droptable命令。

>

限制

上面的解决方案很懒,因为show tables输出中的行都是表名,所以,在运行时会看到错误,但是,使用shell脚本就是在偷懒啊!

Hujiuxiang profile image