简单的删除全部数据表的方法是,删除数据库再创建一个同名数据库。有时可能权限不允许。 这个时候就需要一个一个的删除数据表。
数据库的删除和修改前,一定要备份。
#!/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;