欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

shell清空数据库表

程序员文章站 2022-03-15 15:17:13
...
#! /bin/bash

#数据库ip地址
host="XXXXXX"
#数据库端口
port="XXXXXX"
#数据库用户名
userName="XXXXXX"
#数据库密码
password="XXXXXX"
#数据库名
dbName="XXXXXX"
#当前路径
currPath="$PWD"
#查询并生成要清空表的命令
cmd="SELECT CONCAT('TRUNCATE TABLE ',TABLE_NAME,';') FROM information_schema.TABLES WHERE TABLE_SCHEMA='${dbName}'"

#删除以前清空表的命令
rm -f ${currPath}/${dbName}"_truncate.sql"
#查询最新要清空表的命令
mysql -h${host} -u${userName} -p${password} ${dbName} -P${port} -N -e "${cmd}">${currPath}/${dbName}"_truncate.sql"
#若日志路径不存在 就创建日志路径
if [ ! -d "${currPath}/logs" ]; then
  mkdir ${currPath}/logs
fi
#日志文件全路径
logPath=${currPath}"/logs/"${dbName}"_truncate_log"$(date +%Y-%m-%d-%H-%M-%S)
#清空表
mysql -h${host} -u${userName} -p${password} ${dbName} -P${port} -e "source ${currPath}/${dbName}"_truncate.sql"" -vvv|tee -a ${logPath}
echo "Clear data of ${dbName} successful"
#删除前面清空表的命令
rm -f ${currPath}/${dbName}"_truncate.sql"

相关标签: shell 数据库