mysql删除全部数据表的脚本

作者

最简单的删除全部数据表的方法是,删除数据库再创建一个同名数据库。有时可能权限不允许。 这个时候就需要一个一个的删除数据表。

数据库的删除和修改前,一定要备份。

#!/bin/bash

# 设置数据库名字
dbname=www_liuhaolin_com

# 在当前目录创建一个临时文件
tmpfile=`mktemp -u -p .`.sql

# 禁止外键检查
echo "SET FOREIGN_KEY_CHECKS = 0;" > $tmpfile

# 获取所有的数据表
mysqldump --add-drop-table --no-data $dbname | grep 'DROP TABLE' >> $tmpfile

# 从新开启检查
echo "SET FOREIGN_KEY_CHECKS = 1;" >> $tmpfile

# 删除前备份一下数据库
sqlfile=$(date '+%Y-%m-%d').sql
mysqldump $dbname >> $sqlfile

# 执行sql
mysql $dbname   < $tmpfile

#echo filename: $tmpfile;
#cat $tmpfile;

rm -f $tmpfile

# 现在的数据表
echo "show tables" | mysql $dbname;

回复

邮箱地址不会被公开。