shell脚本导出mysql数据表到历史表

1、需求分析

每个月数据一张历史表,每天把前一天数据放到对应历史表中
数据库、目录权限:

# 查看MySQL某个用户的权限:
show grants for 用户名

#给 xiaogang 分配所有的权限
grant all on *.* to 'xiaogang'@'%';

chmod 777 tmp #临时文件存储权限

2、 迁移脚本实现(三种方式)

#!/bin/bash

HOST=127.0.0.1  # host 视情况决定
USER=root
PASSWPORD=000000
DATABASE=testdb
TAB_NAME=t_order
TEMP_PATH=/data/tmp
KEEP_DAYS=30
CURRENT_DATE=`date +'%Y_%m'`
LOG_PATH=/home/cib/logs # 赋值顶格
LOG=${LOG_PATH}/database.logs

tabNameHis=${TAB_NAME}_${CURRENT_DATE}
tempFIle=${TEMP_PATH}/${TAB_NAME}_temp.txt
sqlConnect="mysql -h ${HOST} -u ${USER} -p${PASSWPORD} -d ${DATABASE}"

if [ ! -d ${LOG_PATH} ]
then 
   mkdir -p ${LOG_PATH}
   chmod 777 ${LOG_PATH}
fi


# 查询表是否存在当月历史表 -N
tableExist=`mysql -N -h ${
    HOST} -u ${
    USER} -p${
    PASSWPORD} -d ${
    DATABASE} -e "select count(*) from information_schema.TABLES where TABLE_NAME = '${TAB_NAME}';"`
if [ ${count} -ne 1 ]
then
  echo $(TAB_NAME) does not exist >> ${LOG}
  exit
fi

# 导出一个以前的数据到临时文件,使用!^分割  outfile需
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值