写一个清空Mysql数据库数据的脚本Shell
写一个清空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相关推荐
- 自己如何写mysql数据库_自己手写的一个初始化MySQL数据库的工具!
由于项目需要,我写了一个初始MySQL数据库的工具: 一, 思路: (1),首先读取包含mysql语句的脚本(其中有创建数据库,表,插入初始数据等!). (2),然后替换里面的一些数据值(如guid, ...
- python写mysql脚本_使用python写一个监控mysql的脚本,在zabbix web上加上模板
使用python写一个监控mysql的脚本,在zabbix web上加上模板: ##先使用MySQLdb的接口关联数据库. [root@cml python]# cat check_Mysql_cus ...
- 一个备份MySQL数据库的简单Shell脚本(转)
Shell脚本是我们写不同类型命令的一种脚本,这些命令在这一个文件中就可以执行.我们也可以逐一敲入命令手动执行.如果我们要使用shell脚本就必须在一开始把这些命令写到一个文本文件中,以后就可以随意反 ...
- 虚拟主机如何清空网站程序文件和mysql数据库数据
西部数码的虚拟主机想清空网站文件可根据如下几步进行操作即可: 第1步:进入要操作的虚拟主机----打开文件管理,如图 第2步: 进入wwwroot文件夹 第3步:全选-----删除,如图 通过以上3个 ...
- lmbs PHP,PHP 清空 MySql 指定数据表中的所有数据
PHP 清空 MySql 指定数据表中的所有数据 PHP 清空 MySql 指定数据表中的所有数据,在烈火小编在网上闲逛时,这是某技术博客的一篇文章,说是文章,并没有文字,只有代码,经过测试可以使用, ...
- mysql 定时同步数据_如何定时备份Mysql数据库数据?
这是为小白定制的专属<Linux轻松上手>系列.涵盖了linux常用指令.shell脚本等核心内容,浅显易懂,配合实操案例快速上手.目标就是帮助大家轻松上手linux,少走弯路! 上一篇如 ...
- 写一个工具生成数据库实体类
写一个java工具从数据库生成实体类 开始写之前的说明 这只是一个简单的解析数据库建表语句之后,根据解析结果生成java文件的一个简单工具.写的原因有两个. 1:项目中没有人写实体类的注释,字 ...
- shell如何控制文件读写不同时_如何定时备份Mysql数据库数据?
这是为小白定制的专属<Linux轻松上手>系列.涵盖了linux常用指令.shell脚本等核心内容,浅显易懂,配合实操案例快速上手.目标就是帮助大家轻松上手linux,少走弯路! 上一篇如 ...
- Elasticsearch安装及自动同步mysql数据库数据
2019独角兽企业重金招聘Python工程师标准>>> Elasticsearch安装及自动同步mysql数据库数据 1 环境: CentOS 6.4 x64 ...
最新文章
- Kotlin 创建对象
- pytorch学习:xavier分布和kaiming分布
- PMCAFF产品经理培训课火热报名中,手慢无!
- python 不执行函数_解决python调用自己文件函数/执行函数找不到包问题
- Windsock套接字I/O模型学习 --- 第二章
- Session、Dialog和Transaction的区别
- 负载均衡原理剖析与实践:负载均衡第一篇-介绍篇
- 2014计算机中山大学新华学院分数线,中山大学新华学院历年分数线 2021中山大学新华学院录取分数线...
- 普元EOS开发积累第二篇(常见错误解决方法) 持续更新
- 创新企业如何“跨越鸿沟”?
- oracle和timesten整合,Timesten与Oracle SQL执行时间对比
- TM7705、TM7707使用
- 5G核心网中与用户数据相关的NF功能体UDM、AUSF、PCF、UDR
- 孤独者的自我救赎[自我的认知]
- 一、线性模型----Lasso、Ridge回归及正则化的初步理解
- 安卓手机和苹果手机如何设置HTTP代理IP上网
- 中兴视讯服务器 广州,中兴通讯推出全新高清视讯解决方案
- (翻译)设计人员应去除正文中的孤行内容的原因
- 资深分享——管理营销团队的方法和技巧
- 海尔CEO张瑞敏精彩语录