关闭

简单易操作----自动备份mysql数据库

标签: mysql数据库备份
142人阅读 评论(0) 收藏 举报
分类:

服务器自动备份mysql数据库

服务器中的数据备份的重要性,这里就不多说了。现分享下在服务器中采用比较简单的方式实现备份。

  • 采用MySQL自带的mysqldump命令,编写脚本
  • 在cron中加入定时任务
  • 输出日志,测试

写备份脚本 backup.sh

#!/bin/bash

#保存备份个数
number=3
#备份保存路径
backup_dir=备份文件存放的路径
#日期
dd=`date +%Y%m%d`
tt=`date +%x%r`
#备份工具
tool=mysqldump
#用户名
username=****
#密码
password=****
#将要备份的数据库
database_name=test
table_name=test_123

#简单写法  mysqldump -u root -p123456 users > /root/mysqlbackup/users-$filename.dump
#备份改host所有数据库
/usr/local/mysql/bin/mysqldump -host **** -u root -p ****  --all-databases --skip-lock-tables > $backup_dir/total-$dd.sql

#备份改host部分数据库
/usr/local/mysql/bin/mysqldump -host **** -u root -p ****  $database_name  $table_name --skip-lock-tables > $backup_dir/****-$dd.sql


#写创建备份日志
echo "$tt   create $backup_dir/total-$dd.sql" >> $backup_dir/log.txt


#找出需要删除的备份
delfile=`ls -l -crt  $backup_dir/*.sql | awk '{print $9 }' | head -1`

#判断现在的备份数量是否大于$number
count=`ls -l -crt  $backup_dir/*.sql | awk '{print $9 }' | wc -l`

if [ $count -gt $number ]
then
  rm $delfile  //删除最早生成的备份,只保留number数量的备份
  #写删除文件日志
  echo "delete $delfile" >> $backup_dir/log.txt
fi

加入cron定时任务

cron 是linux系统自带的定时任务,若没有安装,请先安装再使用。

1.编辑好backup.sh脚本后,先赋予执行权限:
- chmod +x back.sh

2.在cron文件中加上任务的执行时间,执行用户,以及脚本文件
- vi /etc/crontab
下面意思为每天下午5点整执行任务

 0 5 * * * root /home/test/backup.sh(必须是脚本文件的根路径)

3.重新加载cron任务清单
- /etc/rc.d/init.d/crond reload

查看备份日志

在脚本文件中,表示备份文件回保存在备份文件夹
(backup_dir)中,其备份日志会在log.txt中

1
0
查看评论

CentOS Linux下每天自动备份MySQL数据库

1.先在服务器下建文件夹以下3个文件夹: mkdir /backup,mkdir /backup/bakmysql,mkdir /backup/bakmysqlold  在/backup文件夹下建一个shell脚本: dev/shm touch dev/shm/bak/backup/ba...
  • li1246994520
  • li1246994520
  • 2017-02-13 20:04
  • 343

用Navicat自动备份mysql数据库

数据库备份很重要,很多服务器经常遭到黑客的恶意攻击,造成数据丢失,如果没有及时备份的话,后果不堪设想。一:备份的目的:做灾难恢复:对损坏的数据进行恢复和还原 需求改变:因需求改变而需要把数据还原到改变以前二:备份的分类:1:根据是否需要数据库离线 冷备(cold backup):需要关mysql...
  • u013628152
  • u013628152
  • 2017-02-07 14:58
  • 4475

mysql恢复删除的数据库和自动备份数据

公司有个哥们不小心删除了数据库,之前也没有备份,幸好mysql已经开启了binlog 1、less /etc/mysql.cnf log-bin=mysql-bin  如果前面加了#,表示注释了,也就是没开启binlog binlog_format=mixed datadi...
  • seelye
  • seelye
  • 2017-06-27 17:33
  • 362

linux下如何实现mysql数据库每天自动备份定时备份

概述  备份是容灾的基础,是指为防止系统出现操作失误或系统故障导致数据丢失,而将全部或部分数据集合从应用主机的硬盘或阵列复制到其它的存储介质的过程。而对于一些网站、系统来说,数据库就是一切,所以做好数据库的备份是至关重要的!备份是什么?为什么要备份容灾方案建设存储介质光盘 磁带 硬盘 磁盘阵列...
  • testcs_dn
  • testcs_dn
  • 2015-09-30 16:17
  • 44103

Windows定时任务+bat文件+WinRar处理Mysql数据库的定时自动备份

服务器环境 Windows Server 2003 ,服务器上采用的是IIS+mysql的集成工具phpStudy。MySQL的安装目录D:\phpStudy4IIS , WinRAR 安装目录 C:\Program\Files\WinRAR\WinRAR.exe 。备份数据存储...
  • ydm19891101
  • ydm19891101
  • 2016-09-07 11:03
  • 767

阿里云定时备份mysql

1、查看磁盘空间情况: 既然是定时备份,就要选择一个空间充足的磁盘空间,避免出现因空间不足导致备份失败,数据丢失的恶果!  存储到当前磁盘这是最简单,却是最不推荐的;服务器有多块硬盘,最好是把备份存放到另一块硬盘上;有条件就选择更好更安全的存储介质; [Bash shell]...
  • ssssny
  • ssssny
  • 2016-09-07 15:45
  • 1298

Mysql 数据库自动备份Shell脚本

[cpp] view plaincopyprint? #!/bin/bash  #Shell Command For Backup MySQL Database Everyday Automati...
  • yibing548
  • yibing548
  • 2015-09-21 13:20
  • 1190

MYSQL数据库自动压缩备份脚本

备份数据库时不需要停服务,完整备份。 本脚本为Windows批处理脚本,故仅适用于Windows平台。 添加一下计划任务,每天01:00定时运行。 关键脚本如下: (密码:153kpw4) set ds6=%date:~0,10% xcopy D:\AMPZ\data\jlcredit...
  • ts1011
  • ts1011
  • 2013-06-18 10:44
  • 846

CentOS系统mysql数据库自动备份脚本

#!/bin/bash databases=(benshi) basepath='/root/backup/' if [ ! -d "$basepath" ]; then mkdir -p "$basepath" fi for db ...
  • qq229596421
  • qq229596421
  • 2016-06-30 17:30
  • 528

基于局域网的超简易即时通讯软件(一)

开博也那么多天了,一直没有放什么上来,今天心血来潮,就放一个之前用C#写的,基于局域网即时通讯的简易版QQ吧。   首先呢,得了解,既然是能实现局域网的即时通讯,就必定是有服务器和客户端的,是基于C/S结构的。当时想的是为易于后期维护所以用了三层架构编写。开发软件用的是Microsoft Visua...
  • mingwei_cheng
  • mingwei_cheng
  • 2018-01-25 19:55
  • 84
    个人资料
    • 访问:7126次
    • 积分:128
    • 等级:
    • 排名:千里之外
    • 原创:5篇
    • 转载:4篇
    • 译文:0篇
    • 评论:1条
    文章分类