一个删除MySQL大表数据的shell脚本

#!/bin/bash
#为了删除一些特别大的表
dbname=''  #库名
tabname=''  #表名
step='10000' #删除步长
sleeptime=1  #睡眠时间
start_index=30000001  #开始行
end_index=39938589   #结束行
#为了防止误执行,把密码删除,用的时候再加
MYSQL="mysql -uroot -p -t -e "

i_start=$start_index
i_end=$(expr "$start_index" + "$step")
i_end=$(expr "$i_end" - 1)
if [ $i_end -gt $end_index ]; then
  i_end=$end_index
fi
while [ $i_end -le $end_index ]; do
    echo "start delete from $i_start to $i_end"
    #mysql delete delete from yitain where id >= $i_start and id <= $i_end
    #$MYSQL "delete from $dbname.$tabname where id >= $i_start and id <= $i_end;"
    i_start=$(expr "$i_end" + 1)
    i_end=$(expr "$i_end" + "$step")
    if [ $i_start -gt $end_index ]; then
        break
    fi
    if [ $i_end -gt $end_index ]; then
      i_end=$end_index
    fi
    sleep $sleeptime
done

原创文章,作者:tars,如若转载,请注明出处:http://www.178linux.com/6308

(0)
tarstars
上一篇 2015-07-16 22:25
下一篇 2015-07-19 22:09

相关推荐

  • tcpdump诊断nginx问题

    自从上级公司离职后,快一年的时间没有写php程序和搭建LNMP环境,一直在做db运维和运维工具开发方面的事情。 最近决定开发开发一些自动话方面工具,重新拾起php,于是在测试机上搭建一个LNMP环境。 1、 nginx 404错误 一般的出现404错误,找不到页面资源。首先用strace排除了存在文件访问权限的问题,其次nginx的root参数设置也没有任何…

    Linux干货 2016-05-03
  • shell脚本编程之数组

    bash仅支持一维数组,类型声明: declare -i    : 表示数值 declare -a  :表示普通数组(默认,可不用声明类型) declare -A :表示关联数组(必须声明类型,bash需4.0以上版本才支持,可通过bash –version查看版本) 一、普通数组(用数字为下标) 1.1数组赋值(修…

    Linux干货 2015-08-24
  • EXT4文件系统的初步使用

    文件系统的类型多种多样,我们接触得比较多的当属Windows系统上的FAT32和NTFS。 而EXT文件系统(Extended filesystem)则是linux上常见的文件系统类型。 目前最新的版本是ext4,常见于CentOS6之中。 1.查看当前系统中有没有挂载使用中的EXT4文件系统,可以使用mount命令: 2.如何创建一个EXT4的文件系统(f…

    系统运维 2016-02-14
  • 一次简单的内核编译(二)

      前言:     此次编译是继一次简单的内核编译(一)进行操作编译的,请先查看第一篇再来看此片文章 一、使用busybox代替自己制作的init脚本,实现内核启动;  1、在这里我们使用静态编译busybox,所以需要先安装glibc-static依赖包,如果不安装会报错     2、解…

    Linux干货 2015-06-01
  • Linux文件层级结构标准(FHS)

    Linux文件层级结构标准(FHS) 设计FHS(Filesystem Hierarchy Standard)的目的主要是为了给Unix-like系统的管理员提供一个管理系统以及目录结构的一个参考。 由于利用Linux源码开发产品和发行版的企业或组织众多,如果每个组织都按照自己的喜好来组织系统中的文件结构,网络上必然出现各种各样的文件结构。这些产品的用户就不…

    2016-12-05
  • 基于pxe部署系统

    一、前言 在生产环境中,我们经常遇到需要部署部署多台服务器。如果我们每部署一台服务器都要拿着系统盘到机房部署,守在服务器面前,那么我们的效率是十分低下的。况且有时候机房并不在我们身边。那么我们可以通过让机房值班人员为每台服务器配置好远程管理卡,运维人员通过远程管理卡,远程登入服务器进行操作。 二、pxe原理 pxe原理是通过服务器上网卡中支持的pxe启动,通…

    Linux干货 2015-09-14