说明:

我这里要把MySql数据库存放目录/var/lib/mysql下面的pw85数据库备份到/home/mysql_data里面,并且保存为mysqldata_bak_2012_04_11.tar.gz的压缩文件格式(2012_04_11是指备份执行时当天的日期), 最后只保留最近7天的备份。实现步骤:1、创建保存备份文件的目录:/home/mysql_datacd /home #进入目录

mkdir mysql_data #创建目录

2、创建备份脚本文件:/home/mysql_data/mysql_databak.sh

cd /home/mysql_data #进入目录

touch mysql_databak.sh #创建文件

nano mysql_databak.sh #编辑文件,输入以下内容

#!/bin/sh

DUMP=/usr/bin/mysqldump #mysqldump备份程序执行路径

OUT_DIR=/home/mysql_data #备份文件存放路径

LINUX_USER=root #系统用户名

DB_NAME=pw85 #要备份的数据库名字

DB_USER=root #数据库账号 注意:非root用户要用备份参数 --skip-lock-tables,否则可能会报错

DB_PASS=123456 #数据库密码

DAYS=7 #DAYS=7代表删除7天前的备份,即只保留最近7天的备份

cd $OUT_DIR #进入备份存放目录

DATE=`date +%Y_%m_%d` #获取当前系统时间

OUT_SQL="$DATE.sql" #备份数据库的文件名

TAR_SQL="mysqldata_bak_$DATE.tar.gz" #最终保存的数据库备份文件名

$DUMP -u$DB_USER -p$DB_PASS $DB_NAME --default-character-set=utf8 --opt -Q -R --skip-lock-tables> $OUT_SQL #备份

tar -czf $TAR_SQL ./$OUT_SQL #压缩为.tar.gz格式

rm $OUT_SQL #删除.sql格式的备份文件

chown $LINUX_USER:$LINUX_USER $OUT_DIR/$TAR_SQL #更改备份数据库文件的所有者

find $OUT_DIR -name "mysqldata_bak*" -type f -mtime +$DAYS -exec rm {} \; #删除7天前的备份文件

(注意:{} \;中间有空格)

#######################################################################################################

ctrl+o #保存配置

ctrl+x #退出3、修改文件属性,使其可执行chmod +x /home/mysql_data/mysql_databak.sh

4、修改/etc/crontab

nano /etc/crontab #编辑文件,在下面添加

45 22 * * * root /home/mysql_data/mysql_databak.sh #表示每天22点45分执行备份

ctrl+o #保存配置

ctrl+x #退出

5、重新启动crond使设置生效

service cron stop #停止

service cron start #启动

/etc/init.d/cron restart #重启

chkconfig cron on #设为开机启动

每天你在/home/mysql_data目录下面可以看到类似mysqldata_bak_2012_04_11.tar.gz这样的压缩文件

如果需要恢复文件的时候,只需要把这个文件解压:tar -zxvf mysqldata_bak_2012_04_11.tar.gz

然后导入到数据库中即可。

至此,Ubuntu Server下MySql数据库备份脚本完成。

ubuntu 备份mysql数据库_Ubuntu Server下MySql数据库备份脚本代码相关推荐

  1. ubuntu mysql 操作_Ubuntu系统下MySQL数据库基本操作

    Ubuntu系统下安装MySQL后,所有新创建的数据库的默认目录为/var/lib/mysql目录,以后用户自己创建的数据库默认就保存在这个目录下.在终端输入mysql回车后,启动mysql服务,可以 ...

  2. brew安装mysql 卸载_Ubuntu环境下MySQL卸载安装配置远程访问三步曲

    卸载 查看所有依赖 dpkg --list|grep mysql 卸载 MySQL sudo apt-get remove mysql-* 清除残留数据,弹出界面选择 yes dpkg -l |gre ...

  3. win上mysql忘记root密码_MySQL数据库之windows下mysql忘记root密码的解决方法

    本文主要向大家介绍了MySQL数据库之windows下mysql忘记root密码的解决方法 ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助. 方法一: 1.在DOS窗口下输入net ...

  4. Mysql Oracle Sql server 三种数据库默认端口

    ** Mysql Oracle Sql server 三种数据库默认端口 ** SQL Server默认端口号为:1433 URL:"jdbc:microsoft:SQL Server:// ...

  5. 数据库SQL Server 如何将数据库表名等前缀转换成dbo

    数据库SQL Server 如何将数据库表名前缀,框架名前缀,视图前缀,存储过程前缀转换成dbo exec sp_msforeachtable 'sp_changeobjectowner ''?'', ...

  6. ubuntu设置mysql可以非本地访问_ubuntu server下设置mysql的远程访问权限

    安装mysql 安装mysql的方式较多主要有使用源安装,使用本地压缩包进行安装的方式. 具体参照 [ubuntu安装mysql5.5] 检查mysql的远程访问权限 en@iZ944qtakg9Z: ...

  7. 64位ubuntu能安装mysql数据库_Ubuntu操作系统下安装MySQL数据库的方法

    安装版本mysql-5.0.40 需编译 下载编译需要的一些工具,这些工具在默认安装的ubuntu上可能没有,需要手动安装 sudo apt-get install g++ gcc make auto ...

  8. mysql数据库的F5_windows下mysql每天定时备份数据库几种方法

    在windows中备份mysql 数据库的方法有很多种,如有常用的WinRAR备份mysql.mysqldump备份成sql文件.xcopy 直接复制文件形式备份数据库,下面我来总结一下这些方法,并给 ...

  9. ubuntu mysql集群搭建_ubuntu server部署mysql集群

    简介 [说明本次部署的内容,目的等等] 本部署文档的目的是如何在ubuntu server上进行mysql的群集部署. 前期准备 在进行本文档操作前,需要完成如下前期步骤: 1.安装3台ubuntu ...

  10. ubuntu mysql 删除_ubuntu 彻底删除MySQL数据库实操

    以下的文章主要介绍的是ubuntu 彻底删除MySQL数据库,以及删除MySQL数据库之后对MySQL的重装与删除MySQL的实际操作步骤,如果你对其实际操作感兴趣的话,你就可以浏览以下的文章了. s ...

最新文章

  1. iOS: NSTimer的循环引用(解决)
  2. Java程序中的死锁
  3. python 图片base64 编解码,转换成Opencv,PIL.Image图片格式
  4. 点击屏幕触发_MAC值得吹爆的便捷「触发角」功能
  5. android studio左边选择渠道,AndroidStudio简单使用(二):左侧Structure
  6. java.lang.IllegalStateException: Only fullscreen activities can request orientation
  7. 为知笔记docker搭建
  8. 笔记本合上盖子锁定计算机,解决:win10笔记本电脑不合上盖子时也锁定
  9. npm run dev命令报错解决方式
  10. 在Windows 7 Media Center中收听本地FM广播
  11. html字体样式(2)
  12. python适合做网页吗_python是否适合网页编程详解
  13. 奇葩90后引领了哪些互联网潮流?
  14. C#循环体内定义对象/变量
  15. Salvage Robot[agc-004E]
  16. 组合图形-第13届蓝桥杯Scratch省赛1真题第4题
  17. UBUNTU 18.04 GPU + miniconda3 + pytorch + yolo v5 安装测试
  18. k8s主从自动切换mysql_Kubernetes一键部署Mycat+Mysql主从集群
  19. 逆向教程2 某信营业厅
  20. vue2 项目中引入iconfont

热门文章

  1. 快速理解HTTP协议
  2. 【ANDROID游戏开发二十六】追加简述SURFACEVIEW 与 GLSURFACEVIEW效率!
  3. 误删除libc.so.6的解决方法
  4. CentOS上安装多版本Python问题
  5. 数据结构利器之私房STL(中)
  6. 通过 Socket 实现 TCP 编程入门
  7. python搭建http服务_Python搭建HTTP服务过程图解
  8. matlab中小波工具箱下载,matlab小波工具箱小波分析步骤
  9. 最短路经典 昂贵的聘礼(1062)
  10. 请确保dx环境安装正常后进行开播_虎牙直播助手常见问题汇总