今天手中拿到个之前的db,我要做测试,但是里面表结构比较多,确认数据已经没有用了,但是表结构不知道 有没有用;所以想着把里面的数据给清空了;奈何数据太多,schema都有2k多了,这一个个敲命令得搞死
写了个脚本做记录,以后用到就拿过来复用;
#!/bin/bash
mysql --login-path=localhost -e "use information_schema;select table_schema,table_name from tables where table_schema !='sys' and table_schema != 'performance_schema' and table_schema != 'mysql' and table_schema != 'information_schema';" | awk '{print "truncate table "$1"."$2";"}' | grep -Ev "table_schema.table_name" > purge.sql
IFS=$'\n';
# 修改换行符,每次取一行
for i in `cat purge.sql`
do
mysql --login-path=localhost -e "set foreign_key_checks=0;$i";
#关闭外键约束
done
mysql --login-path=localhost -e "set foreign_key_checks=1;"
#最后启用外键约束
echo "purge OK;"