内容如下:

#!/bin/bash

DATE=`date '+%Y%m%d'`

TIME=`date '+%H%M%S'`

BAK_CMD="/data/mysql3306/bin/mysqldump -uroot -proot -hlocalhost -P3306 --default-character-set=utf8 --master-data=2 --single-transaction "

DB_NAME="shop_zp"

DIR_NAME="/data/mysqlbak/db_bak/table_bak/"

#选择备份数据库名

printf "请输入备份数据库名,默认[${DB_NAME}],同时备份多个库格式[db_name1 db_name2]:\n"

while read BAK_DB_NAME

do

case ${BAK_DB_NAME} in

'Q'|'exit'|'q')

printf "退出备份程序,备份结束[`date '+%Y/%m/%d %H:%M:%S'`] ... \n"

exit

;;

*)

if [ "`echo ^${BAK_DB_NAME}`" = "^" ]; then

BAK_DB_NAME=${DB_NAME}

fi

break

;;

esac

done

printf "(#提示:你输入备份数据库名是[${BAK_DB_NAME}].)\n"

#输入备份的表名

printf "请输入备份的表名,单表即表名,多表格式[table1 table2 table3],全库或多库备份请直接回车:\n"

while read BAK_TABLE_NAME

do

case ${BAK_TABLE_NAME} in

'Q'|'exit'|'q')

printf "退出备份程序,备份结束[`date '+%Y/%m/%d %H:%M:%S'`] ... \n"

exit

;;

*)

if [ "`echo ^${BAK_TABLE_NAME}`" = "^" ]; then

BAK_TABLE_NAME="ALL"

fi

break

;;

esac

done

printf "(#提示:你输入备份的表名是[${BAK_TABLE_NAME}].)\n"

#输入备份的目录

printf "输入备份的目录,默认[${DIR_NAME}],注意路径以"/"结束:\n"

while read TMP

do

case ${TMP} in

'Q'|'exit'|'q')

printf "退出备份程序,备份结束[`date '+%Y/%m/%d %H:%M:%S'`] ... \n"

exit

;;

*)

if [ "`echo ^${TMP}`" = "^" ]; then

TMP=${DIR_NAME}

fi

if [ ! -d ${TMP} ]; then

printf "备份目录[${TMP}]不存在... \n"

printf "请输入备份目录,默认[${DIR_NAME}]:\n"

else

BAK_DIR_NAME=${TMP}

break

fi

;;

esac

done

unset TMP

printf "(#提示:你输入备份目录是[${BAK_DIR_NAME}].)\n"

#开始执行相应级别备份脚本

T_NAME=`echo "${DATE}_${BAK_DB_NAME}@${BAK_TABLE_NAME}_${TIME}.sql"|sed "s/ /@/g"`

if [ ${BAK_TABLE_NAME} == ALL ];then

printf "\n开始备份[${BAK_DB_NAME}]数据库[`date '+%Y/%m/%d %H:%M:%S'`] ... \n"

${BAK_CMD} --databases ${BAK_DB_NAME} > ${BAK_DIR_NAME}${T_NAME}

else

printf "\n开始备份[${BAK_DB_NAME}]数据库[${BAK_TABLE_NAME}]表[`date '+%Y/%m/%d %H:%M:%S'`] ... \n"

${BAK_CMD} --databases ${BAK_DB_NAME} --tables ${BAK_TABLE_NAME} > ${BAK_DIR_NAME}${T_NAME}

fi

printf "备份完成,备份文件[${BAK_DIR_NAME}${T_NAME}] ...大小为[`du -k ${BAK_DIR_NAME}${T_NAME} | awk '{printf $1}'` Kbytes]\n"

mysql自动dump脚本_MySQL--简单mysqldump脚本相关推荐

  1. ubuntu mysql自动补全_mysql自动化安装脚本(ubuntu and centos64)

    Ubuntu Mysql自动化安装脚本 #/bin/bash function hasDpkg { r=`dpkg -l | grep "$1"` if [ -n "$r ...

  2. mysql 5.7巡检脚本_mysql自动化巡检脚本生成html报告

    一. 前言 1.之前出了一篇oracle自动巡检脚本生成html报告和一篇Linux服务器系统自动巡检脚本生成html报告,本篇文章出一篇mysql自动巡检脚本生成html报告. 2.脚本只提供部分简 ...

  3. mysql定时异地备份_MYsql 异地备份脚本

    MYsql 异地备份脚本 在异地的服务器备份Mysql时,异地的服务器没有安装Mysql数据库,备份的mysqldump命令是不能生效的.所以可以把安装mysql数据库所在服务器中的mysqldump ...

  4. mysql 异地备份脚本_MySQL异地备份脚本

    在异地的服务器备份Mysql时,异地的服务器没有安装Mysql数据库,备份的mysqldump命令是不能生效的.所以可以把安装mysql数据库所 在异地的服务器备份Mysql时,异地的服务器没有安装M ...

  5. mysql dump 数据库_MySQL使用mysqldump备份数据库

    在本教程中,您将学习如何使用mysqldump工具备份MySQL数据库. MySQL GUI工具(如phpMyAdmin,SQLyog等)通常为备份MySQL数据库提供了方便的功能. 但是,如果您的数 ...

  6. 阿里云 mysql自动备份数据库_MySQL定时备份数据库(全库备份)

    一.MySQL数据备份 1.1. mysqldump命令备份数据 在MySQL中提供了命令行导出数据库数据以及文件的一种方便的工具mysqldump,我们可以通过命令行直接实现数据库内容的导出dump ...

  7. mysql 自动备份发送_MySQL自动备份数据并通过邮箱发送

    实验环境:腾讯云服务器 操作系统:CentOS 7 腾讯云.阿里云默认关闭了25端口,需要采用465端口通过smtp来发送邮件,由于个人博客一般数据量都不大,可以直接备份并通过邮件来把数据直接以附件形 ...

  8. jdbc mysql 自动重连_Mysql中JDBC如何完成自动重连机制的案例

    软件安装:装机软件必备包 SQL是Structured Query Language(结构化查询语言)的缩写.SQL是专为数据库而建立的操作命令集,是一种功能齐全的数据库语言.在使用它时,只需要发出& ...

  9. html怎么shell脚本语言,简单shell脚本例子

    为什么要使用Shell脚本 使用脚本编程语言的好处是,它们多半运行在比编译型语言还高的层级,能够轻易处理文件与目录之类的对象.缺点是:它们的效率通常不如编译型语言.不过权衡之下,通常使用脚本编程还是值 ...

  10. mysql自动增长恢复_mysql自动增长的有关问题,怎么恢复从1开始

    mysql自动增长的问题,如何恢复从1开始 在一个表中我设置到autoid为自动增长列 例如有如下数据 1 张三 男 20 2 王五 男 22 3 李四 男 25 4 陈大 男 19 现在我把 aut ...

最新文章

  1. 微软大神“玩”出新花样,求平均值代码还能这样写?
  2. SQL Server中的高可用性(3)----复制 (转载)
  3. 网页设计千千万,网站建设万万千
  4. [转]远程唤醒技术在运维中的应用
  5. 已经yum安装的基础上,升级编译安装git
  6. 从人工到机器智能,盗版监测在 AI 时代如何破局?
  7. JVM—方法区到底是怎么保存函数方法的?
  8. linux环境下创建postgis数据库,linux下搭建postgresql、postgis、pg_pathman环境步骤详解...
  9. ubuntu16.04+cuda9.0_cudnn7.5+tensorflow-gpu==1.12.0
  10. Android 网络编程之Http通信
  11. linux文件内容打印成二进制,如何在二进制文件中只打印可打印字符(相当于Linux下的字符串)?...
  12. Numpy数组的广播机制
  13. word-break|overflow-wrap|word-wrap——CSS英文断句浅析
  14. java android aes加密解密_AES加密解密在JAVA和ANDROID下互通
  15. cmd中输入net start mysql 提示:服务名无效
  16. 谈论源码_当我们谈论软件“替代品”时,这是什么意思?
  17. 雪,是死掉的雨,是雨的精魂
  18. SQL面试题--(26~46)
  19. 在Html5中与服务器交互
  20. 电子技术基础(三)__具有无关项逻辑函数的化简

热门文章

  1. pve安装黑群晖直通硬盘_基于ProXmoX VE的虚拟化黑群晖6.2安装,硬盘直通
  2. Caffe: gflag编译出现问题汇总
  3. 随机值获取—random
  4. 线程(CreateThread)
  5. shell中的字符串操作
  6. COALESCE操作符
  7. Android应用框架浅析
  8. cocos2dxFlappyBird开发总结二:开发环境介绍
  9. 运维老鸟职场生活交友经验谈
  10. because the principal dbo does not exist 问题解决方法