写一个清空Mysql数据库数据的脚本Shell
服务器安装部署mysql8.0.2,需要有 mysqldump 命令

#!/usr/bin/bash# mysql -e cmd 可以用shell操作mysql,不在mysql提示符下操作,非交互式,适合嵌入shell脚本
# shell 单引号和双引号的区别,单引号属于强引用,不对引号内任何特殊字符转义,只当普通字符.双引号属于弱引用,会对括起来的特殊字符做处理.
# mysqldump --no-data 参数(跟-d 一样),表示只导出数据库表结构,不导出数据.用-t则表示只导出数据,不导出表结构.
# 删除数据库有3种方法:(delete有所保留,可以回滚,drop更彻底)
# -e是echo的一个可选项,用于激活特殊字符的解析器, 也就是对反斜线转义符(即\)的解释。\033引导非常规字符序列。
# shell脚本在开头加上"set -x"表示调试模式,会把每句命令都打印出来,再打印每句命令的执行结果
#
# set -x
HOSTNAME='xxx.xxx.xxx.xxx'
PORT=3309
USERNAME='username'
PASSWORD='password'
DATABASE='shop_mall_bk'
# 业务数据存储路径
DB_ROOT=/data/nfsqd_shop/db/userful-sql
# 业务数据表结构,不含数据
MALL_NO_DATA=${DB_ROOT}/shop_mall-nodata.sql
# 要保留的数据
MALL_NEED_DATA=${DB_ROOT}/config.sql
# 要保留的数据表
MALL_NEED_TABLES="goods_spu goods_sku article_category article_info company_info company_employee_info ensure freight_templat goods_brand goods_category goods_property material material_group page_devise pay_config shop_info theme_mobile user_address user_collect user_footprint user_info welfare welfare_goods welfare_shop"
CREATE_DB="CREATE DATABASE IF NOT EXISTS ${DATABASE} DEFAULT CHARSET utf8 COLLATE utf8_general_ci"echo -e "\033[47;34m ------------ 企业福利通积分商城数据清理脚本 ------------- \033[0m"result()
{if [ $? -eq 0 ];then
echo -e "\033[47;32m ----------- $1 succeed! ---------- \033[0m"
else
echo -e "\033[47;31m ----------- $1 failed! ----------- \033[0m"
fi
}
# 保存数据库数据结构
echo -e "\033[47;34m ------------ step 1: dump a no-data sql of joolun_mall ------------- \033[0m"
mysqldump -u${USERNAME} -p${PASSWORD} -h${HOSTNAME} -P${PORT} ${DATABASE} --no-data > ${MALL_NO_DATA}
result step1
# 保存数据库必要的数据内容
echo -e "\033[47;34m ------------ step 2: dump important config like goods_spu,goods_sku,etc ------------- \033[0m"
mysqldump -u${USERNAME} -p${PASSWORD} -h${HOSTNAME} -P${PORT} ${DATABASE} ${MALL_NEED_TABLES} > ${MALL_NEED_DATA}
result step2
# 删除数据库
echo -e "\033[47;34m ------------ step 3: drop joolun_mall ------------- \033[0m"
mysql -u${USERNAME} -p${PASSWORD} -h${HOSTNAME} -P${PORT} ${DATABASE} -e "drop database ${DATABASE}"
result step3
# 重新新建数据库
echo -e "\033[47;34m ------------ step 4: create a new joolun_mall ------------- \033[0m"
mysql -u${USERNAME} -p${PASSWORD} -h${HOSTNAME} -P${PORT}  -e "${CREATE_DB}"
result step4
# 导入数据库数据结构
echo -e "\033[47;34m ------------ step 5: import the backup table-structure ------------- \033[0m"
mysql -u${USERNAME} -p${PASSWORD} -h${HOSTNAME} -P${PORT} ${DATABASE} -e "source ${MALL_NO_DATA}"
result step5
# 导入数据库必要的数据
echo -e "\033[47;34m ------------ step 6: import the backup config ------------- \033[0m"
mysql -u${USERNAME} -p${PASSWORD} -h${HOSTNAME} -P${PORT} ${DATABASE} -e "source ${MALL_NEED_DATA}"
result step6
# 用户积分清零
echo -e "\033[47;34m ------------ step 7: 用户积分清零 ------------- \033[0m"
mysql -u${USERNAME} -p${PASSWORD} -h${HOSTNAME} -P${PORT} ${DATABASE} -e "update user_info set integral = 0.00"
result step7
# 供货商积分清零
echo -e "\033[47;34m ------------ step 8: 供货商积分清零 ------------- \033[0m"
mysql -u${USERNAME} -p${PASSWORD} -h${HOSTNAME} -P${PORT} ${DATABASE} -e "update shop_info set integral = 0.00"
result step8
# 单位积分清零
echo -e "\033[47;34m ------------ step 9: 单位积分清零 ------------- \033[0m"
mysql -u${USERNAME} -p${PASSWORD} -h${HOSTNAME} -P${PORT} ${DATABASE} -e "update company_info set integral = 0.00"
result step9

写一个清空Mysql数据库数据的脚本Shell相关推荐

  1. 自己如何写mysql数据库_自己手写的一个初始化MySQL数据库的工具!

    由于项目需要,我写了一个初始MySQL数据库的工具: 一, 思路: (1),首先读取包含mysql语句的脚本(其中有创建数据库,表,插入初始数据等!). (2),然后替换里面的一些数据值(如guid, ...

  2. python写mysql脚本_使用python写一个监控mysql的脚本,在zabbix web上加上模板

    使用python写一个监控mysql的脚本,在zabbix web上加上模板: ##先使用MySQLdb的接口关联数据库. [root@cml python]# cat check_Mysql_cus ...

  3. 一个备份MySQL数据库的简单Shell脚本(转)

    Shell脚本是我们写不同类型命令的一种脚本,这些命令在这一个文件中就可以执行.我们也可以逐一敲入命令手动执行.如果我们要使用shell脚本就必须在一开始把这些命令写到一个文本文件中,以后就可以随意反 ...

  4. 虚拟主机如何清空网站程序文件和mysql数据库数据

    西部数码的虚拟主机想清空网站文件可根据如下几步进行操作即可: 第1步:进入要操作的虚拟主机----打开文件管理,如图 第2步: 进入wwwroot文件夹 第3步:全选-----删除,如图 通过以上3个 ...

  5. lmbs PHP,PHP 清空 MySql 指定数据表中的所有数据

    PHP 清空 MySql 指定数据表中的所有数据 PHP 清空 MySql 指定数据表中的所有数据,在烈火小编在网上闲逛时,这是某技术博客的一篇文章,说是文章,并没有文字,只有代码,经过测试可以使用, ...

  6. mysql 定时同步数据_如何定时备份Mysql数据库数据?

    这是为小白定制的专属<Linux轻松上手>系列.涵盖了linux常用指令.shell脚本等核心内容,浅显易懂,配合实操案例快速上手.目标就是帮助大家轻松上手linux,少走弯路! 上一篇如 ...

  7. 写一个工具生成数据库实体类

    写一个java工具从数据库生成实体类 开始写之前的说明 ​ 这只是一个简单的解析数据库建表语句之后,根据解析结果生成java文件的一个简单工具.写的原因有两个. ​ 1:项目中没有人写实体类的注释,字 ...

  8. shell如何控制文件读写不同时_如何定时备份Mysql数据库数据?

    这是为小白定制的专属<Linux轻松上手>系列.涵盖了linux常用指令.shell脚本等核心内容,浅显易懂,配合实操案例快速上手.目标就是帮助大家轻松上手linux,少走弯路! 上一篇如 ...

  9. Elasticsearch安装及自动同步mysql数据库数据

    2019独角兽企业重金招聘Python工程师标准>>> Elasticsearch安装及自动同步mysql数据库数据 1           环境: CentOS  6.4  x64 ...

最新文章

  1. Kotlin 创建对象
  2. pytorch学习:xavier分布和kaiming分布
  3. PMCAFF产品经理培训课火热报名中,手慢无!
  4. python 不执行函数_解决python调用自己文件函数/执行函数找不到包问题
  5. Windsock套接字I/O模型学习 --- 第二章
  6. Session、Dialog和Transaction的区别
  7. 负载均衡原理剖析与实践:负载均衡第一篇-介绍篇
  8. 2014计算机中山大学新华学院分数线,中山大学新华学院历年分数线 2021中山大学新华学院录取分数线...
  9. 普元EOS开发积累第二篇(常见错误解决方法) 持续更新
  10. 创新企业如何“跨越鸿沟”?
  11. oracle和timesten整合,Timesten与Oracle SQL执行时间对比
  12. TM7705、TM7707使用
  13. 5G核心网中与用户数据相关的NF功能体UDM、AUSF、PCF、UDR
  14. 孤独者的自我救赎[自我的认知]
  15. 一、线性模型----Lasso、Ridge回归及正则化的初步理解
  16. 安卓手机和苹果手机如何设置HTTP代理IP上网
  17. 中兴视讯服务器 广州,中兴通讯推出全新高清视讯解决方案
  18. (翻译)设计人员应去除正文中的孤行内容的原因
  19. 资深分享——管理营销团队的方法和技巧
  20. 海尔CEO张瑞敏精彩语录

热门文章

  1. java 中访问数据库的步骤
  2. 人在家中坐,班从天上来「小程序推送」
  3. Flask学习之旅——2.3 控制语句
  4. Python连接gbase数据库
  5. 毕设题目:Matlab裂缝识别
  6. 2017 开源中国评比的前100个优秀开源项目
  7. Ionic2的发布模式和开发模式,--prod参数
  8. sas学习笔记之sas发送邮件
  9. 2014上海计算机一级理论,2014年上海市计算机一级考试理论试题(A—H).doc
  10. 使用Springboot修改密码功能