shell脚本 安全删除MySQL大表】的更多相关文章

一.简介 源码地址 日期:2018/4/12 介绍:工具用于安全删除MySQL表,对于一些特定场景可能有用 应用场景:大批删除不走索引但是有主键的场景[可以是单列索引,也可是多列索引] 实现思路:根据where条件获取到主键值,然后重新拼接SQL 注:本工具仅用于学习,如用于生产,请充分测试 效果图: 二.使用 适用:centos6+ 语言:中文 注意:必须有主键或者非空唯一索引 1.下载 git clone https://gitee.com/mo-shan/safe_delete.git c…
前几天发现服务器上的mysql出现锁表了,show processlist后发现好多都是因为写进session才锁表的,看到这个想起了会不会是硬盘空间不够了,马上查看了服务器硬盘空间,发现都100%了,马上清理硬盘空间,清理完后,还要杀掉mysql里锁表的进程,网上搜了个shell脚本来kill锁表的进程. 1.下面是脚本内容:   cat /root/soft_shell/mysql_sleep_kill.sh #!/bin/bash >/root/locked_log.txt >kill_…
在日常工作中,经常会遇到历史大表从主库上迁移到备份机,以便腾出主库空间,那么如果你直接drop table 后,可能会引起数据库抖动,连接数升高等问题,从而影响业务. 那么用一个小技巧,即可轻松平滑的从主库上删除历史大表. 1.创建一个硬链接,在drop table 表时,"欺骗"MySQL已经删除完毕. ln test.ibd test.ibd.hdlk 2.这个时候不要直接rm test.ibd.hdlk,这样会引起磁盘IO转速上升,MySQL会发生性能抖动. 我们这里写一个脚本,…
Shell脚本中执行mysql的几种方式(转) 对于自动化运维,诸如备份恢复之类的,DBA经常需要将SQL语句封装到shell脚本.本文描述了在Linux环境下mysql数据库中,shell脚本下调用sql语句的几种方法,供大家参考.对于脚本输出的结果美化,需要进一步完善和调整.以下为具体的示例及其方法. 1.将SQL语句直接嵌入到shell脚本文件中 复制代码 代码如下: --演示环境   [root@SZDB ~]# more /etc/issue   CentOS release 5.9…
参考资料:Shell脚本中执行mysql语句 需求:数据库里有张数据表存储的是用户对电影的评价(user_id movie_id rating time),但是我现在要每部电影的总评分. 解决方法: 1).写个sql文件test.sql:use movie_recommendation;select distinct movie_id from T_user_movie_rating_map; 2).在终端输入mysql -uroot -p123456 -e < test.sql > movi…
Centos 6.4上面用Shell脚本一键安装mysql 5.6.15  #!/bin/bash if [ `uname -m` == "x86_64" ];then machine=x86_64 else machine=i686 fi mysqlBasedir=/storage/server/mysql mysqlDatadir=${mysqlBasedir}/data/ mysqlLogdir=/storage/log/mysql mysqlUser=mysql mysqlGr…
一则清理MySQL大表以释放磁盘空间的案例 一.基本情况: 1.dbtest库554G,先清理st_online_time_away_ds(37G)表的数据,保留半年的数据: 1)删除的数据:select count(1),tdate from dbtest.st_online_time_away_ds where tdate < '2017-08-01';(记录数为:462171894) 2)保留的数据:select count(1),tdate from dbtest.st_online_t…
本文原作者“ manong”,原创发表于segmentfault,原文链接:segmentfault.com/a/1190000006158186 1.引言   MySQL作为开源技术的代表作之一,是互联网得以广泛流行的重要基础技术之一. 国外 GitHub.Airbnb.Yelp.Coursera 均在使用 MySQL 数据库,国内阿里巴巴.去哪儿网.腾讯.魅族.京东等等的部分关键业务同样使用了 MySQL 数据库.同时,MySQL 也是众多数据库排行榜单的第一名,丛多国内一线互联网企业都在用…
当MySQL单表记录数过大时,增删改查性能都会急剧下降,可以参考以下步骤来优化: 单表优化 除非单表数据未来会一直不断上涨,否则不要一开始就考虑拆分,拆分会带来逻辑.部署.运维的各种复杂度,一般以整型值为主的表在千万级以下,字符串为主的表在五百万以下是没有太大问题的.而事实上很多时候MySQL单表的性能依然有不少优化空间,甚至能正常支撑千万级以上的数据量: 字段 1.尽量使用TINYINT.SMALLINT.MEDIUM_INT作为整数类型而非INT,如果非负则加上UNSIGNED 2.VARC…
利用Linux的硬连接删除MySQL大文件 http://blog.csdn.net/wxliu1989/article/details/22895201 原理:硬链接基础当多个文件共同指向同一inode.inode链接数N>1.删除任何一个文件都是巨快因为.此时删除的仅仅是指向inode的指针 而当N=1时.则不一样了.此时删除的文件相关的所有数据块.所以慢 root@ # ln stock.ibd stock.id.hdlk root@ # ls stock.* -l -rw-rw—- 1…