您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

自动删除mysql表,备份,切割

bubuko 2022/1/25 19:58:53 mysql 字数 1649 阅读 649 来源 http://www.bubuko.com/infolist-5-1.html

运营的路上,乐趣无群诊断到了那些数据库在占空间,就想到了备份,压缩,删除的策略。 #!/bin/sh BIN_DIR="/Applications/XAMPP/bin" MYUSER="urldb" MYPASS="123456" DB_NAME="crm" TABLE="fis_cash" BCK ...

运营的路上,乐趣无群
诊断到了那些数据库在占空间,就想到了备份,压缩,删除的策略。

#!/bin/sh
BIN_DIR="/Applications/XAMPP/bin"
MYUSER="urldb"
MYPASS="123456"
DB_NAME="crm"
TABLE="fis_cash"
BCK_DIR="/Users/ge"
 
MAX_ID=`$BIN_DIR/mysql -u$MYUSER -p$MYPASS -Bse "select max(id) from $DB_NAME.$TABLE"`
 
$BIN_DIR/mysqldump -h localhost --default-character-set utf8 -u $MYUSER --password=$MYPASS  $DB_NAME $TABLE | gzip > $BCK_DIR/$DB_NAME.$TABLE.gz
 
DBS=`$BIN_DIR/mysql -u$MYUSER -p$MYPASS -Bse "delete from $DB_NAME.$TABLE where id <=$MAX_ID"`

在本地测试的时候,没问题可以顺利删除

第一波操纵:服务器上日志表A_log数据350多万,删除过程发生错误
ERROR 3 (HY000) at line 1: Error writing file ‘/tmp/MLCnydfz’ (Errcode: 28 – No space left on device)
我的mysql所在的根目录(这是个错误)一共40G,硬盘只有37G了,这个要删除的日志表8G

怀疑是删除操作delete from 依然会占用数据库空间,而且要占用机器临时文件/tmp目录,所以爆出个空间不足

truncate table 搞定。

第二波操纵:服务器上日志表b_log数据350多万,删除过程发生错误
这个表50多万数据,一共1G多,
delete顺利了,但是发现空间占用依然没变,证实了我的猜测(学艺不精)

 

https://java-er.com/blog/backup-delete-auto/

自动删除mysql表,备份,切割

原文:https://www.cnblogs.com/yuexiaosheng/p/12669207.html


如果您也喜欢它,动动您的小指点个赞吧

除非注明,文章均由 laddyq.com 整理发布,欢迎转载。

转载请注明:
链接:http://laddyq.com
来源:laddyq.com
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


联系我
置顶