Chinaunix首页 | 论坛 | 博客
  • 博客访问: 668840
  • 博文数量: 220
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 1961
  • 用 户 组: 普通用户
  • 注册时间: 2014-11-04 21:54
文章分类

全部博文(220)

文章存档

2018年(1)

2015年(140)

2014年(79)

我的朋友

分类:

2015-03-18 11:23:44

1,在某些情况下,我要删除MySQL中某个schema下面的所有Tables,或者是要清空所有表中的数据,
这里介绍一种简单安全的方法,利用mysqldump工具,具体处理请见下面:
mysqldump -u[USERNAME] -p[PASSWORD] --add-drop-table --no-data [DATABASE] | grep ^DROP | mysql -u[USERNAME] -p[PASSWORD] [DATABASE]
1.1 要求删除指定schema的所有表中数据,但是保持表结构。
mysqldump -u[USERNAME] -p[PASSWORD] --add-drop-table --no-data [DATABASE] | mysql -u[USERNAME] -p[PASSWORD] [DATABASE]
原理说明:根据mysqldump的备份参数,包括drop table和建表create table语句,其实是先把database里的所有表drop后,再重建表结构。
1.2 要求删除指定schema的所有表。
mysqldump -u[USERNAME] -p[PASSWORD] --add-drop-table --no-data [DATABASE] | grep ^DROP | mysql -u[USERNAME] -p[PASSWORD] [DATABASE]
加上grep来提取drop语句,不要create便可。
2 在MySQL中有关drop table的注意事项
2.1 drop table时数据表太大,table_cache lock is being held so no other queries can start
2.2 对于删除大表,利用link来实现快速删除,防止MySQL hung住
详见:
阅读(936) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~