mysql数据库定时备份

操作步骤:
1、将脚本放到任意位置下,不容易被误删即可
2、定时任务,一周执行一次脚本

脚本如下:
#!bin/bash

backuppath=/data/mysql/backup
date=$(date +%Y%m%d%H%M)
SQLuser=root
SQLpwd=password
mysqldump=/usr/local/mysql/bin/mysqldump
mysql=/usr/local/mysql/bin/mysql
HIS_Date=`date -d $(date -d "-30 day" +%Y%m%d) +%s`  #取30天之前的时间戳
Sql_Date=`date -d $(date -d "-7 day" +%Y%m%d) +%s`  #取7天之前的时间戳
#进入mysql数据库,清除zabbix历史数据
$mysql -u$SQLuser -p$SQLpwd -e"
    use zabbix;
    delete from history WHERE ‘clock‘ < $Sql_Date;
    delete from history_uint WHERE ‘clock‘ < $Sql_Date;
    delete from history_str WHERE ‘clock‘ < $Sql_Date;
    delete from history_text WHERE ‘clock‘ < $Sql_Date;
    delete from history_log WHERE ‘clock‘ < $Sql_Date;
    exit
    "

#建立备份目录

if [ ! -e $backuppath ];then
    mkdir -p $backuppath
fi

#开始备份zabbix库
$mysqldump -u$SQLuser -p$SQLpwd zabbix &gt;$backuppath/zabbix$date.sql

#删除1个月前的备份数据
find /data/mysql/backup -mtime +30 -type f -name \zabbix*.sql -exec rm -f {} \;

在数据库历史数据过大,可以考虑truncate掉历史数据。

$mysql -u$SQLuser -p$SQLpwd -e"
    use zabbix;
        truncate table history;
        truncate table history_log;
    truncate table history_uint;
    truncate table history_str;
    truncate table history_text;
        exit
        "


转自
mysql数据库定时备份

(出处: 乐维)

原文地址:http://blog.51cto.com/14010230/2324127

时间: 2024-07-28 14:48:02

mysql数据库定时备份的相关文章

Linux下crontab+php实现Mysql数据库定时备份

引言 大项目中的数据库备份是必不可少的,否则一旦出现大问题就GG了,虽然本文是讲述利用PHP实现数据库定时备份,但是这并不是好的方案 想要定时备份数据库,最快捷安全的方法就是利用shell脚本了,功能强大操作方便,而且执行速度极快,不像PHP还需要被apache解析一把.. 当然,不管是用php定时备份,还是shell脚本定时备份,都离不开crontab这玩意,毕竟它才是真正的定时器,这里粗略的说一下crontab吧 crontab使用简介 crontab常用基础命令 crontab -e //

windows下mysql数据库定时备份。

注意:看本教程先必须会windows自带的"任务计划程序". 首先创建一个bat后缀的文件我的是timerExecutePhp.bat文件 timerExecutePhp.bat 这个文件是用来定时执行指定的php文件 timerExecutePhp.bat文件内容: F:\web\php-5.6.22-Win32-VC11-x64\php.exe F:\web\htdocs\demo\timer.php 注释: 1.F:\web\php-5.6.22-Win32-VC11-x64\p

mysql 数据库定时备份 增量/全备份

实验楼的 MySQL 数据库需要设计一个自动备份方案,能够每周执行一次全备份,每天执行一次增量备份. 数据库名称为 shiyanlou,管理的用户名为 shiyanlou,密码为 shiyanlou.注意需要先手动启动 MySQL 服务. 目标 设计并实现备份方案,任务完成后满足以下要求: MySQL 服务处于运行状态 需要为服务器中的 shiyanlou 用户设定计划任务 计划任务中设定每周的周一凌晨3点执行一次全备份 计划任务中设定每天凌晨3点执行一次增量备份,周一不执行 请不要编写额外的脚

MySql 数据库定时备份

1.使用sqldump+任务计划 mysqldump备份成sql文件==============假想环境:MySQL   安装位置:C:\MySQL论坛数据库名称为:bbsMySQL root   密码:123456数据库备份目的地:D:\db_backup\ 脚本: rem *******************************Code Start*****************************@echo off set "Ymd=%date:~,4%%date:~5,2%%

mysqldump常用于MySQL数据库逻辑备份

mysqldump常用于MySQL数据库逻辑备份. 1.各种用法说明 A. 最简单的用法: mysqldump -uroot -pPassword [database name] > [dump file] 上述命令将指定数据库备份到某dump文件(转储文件)中,比如: mysqldump -uroot -p123 test > test.dump 生成的test.dump文件中包含建表语句(生成数据库结构哦)和插入数据的insert语句. B. --opt 如果加上--opt参数则生成的du

使用mysqldump对MySQL进行定时备份的实践

公司里一直以来都在使用MySQL作为数据库进行软件的开发,但截止到目前为止,公司里开发的软件并没有对MySQL进行自动备份(含已经在客户正常使用的程序). 考虑到这是一个巨大的风险,今天准备将MySQL自动备份的问题搞定.在处理该问题之前,考虑到MySQL是一个使用范围较广泛的数据库产品,网上肯定有非常多的自动备份工具,所以也没太过用心. 在网上搜索了一段时间之后才发现MySQL的自动备份并不像MS SQLServer,它并没有可视化的工具来支持,和我最开始想的差距有点大. 综合了网上资料和时间

MySQL数据库-完全备份及恢复

MySQL数据库-完全备份及恢复 数据库备份的分类 物理角度: 冷备份:也称脱机备份,特点:关掉数据库再备份 热备份:也称联机备份,特点:开启数据库再备份 温备份:数据库只有可读权限的状态下备份 逻辑角度: 对数据库的对象的备份,例如数据表,及数据表中的一些sql语句等 备份策略角度: 完全备份:每次对数据进行整体的备份 差异备份:在第一次完整备份a数据后,以后的每次的备份是a+b,b就是针对于a数据发生变化的数据,称之为'差异数据'.缺点:b的数据内存会越来越大b+=b,导致数据恢复缓慢.恢复

Windows Server服务器端MySQL数据库自动备份

1.给root账户授权所有sql权限 grant all privileges on *.* to [email protected]"%" identified by "."; flush privileges; 2.建立bat批处理文件 @echo off set path=%path%;D:\Program Files\MySQL\MySQL Server 5.5\bin set y=%date:~0,4% set m=%date:~5,2% set d=%d

[知了堂学习笔记]_Java代码实现MySQL数据库的备份与还原

通常在MySQL数据库的备份和恢复的时候,多是采用在cmd中执行mysql命令来实现. 例如: mysqldump -h127.0.0.1 -uroot -ppass test > d:/test.sql ---备份test数据库到 D 盘 mysql -h127.0.0.1 -uroot -ppass test< test.sql ---将D备份的数据库脚本,恢复到数据库中 更多命令参看:http://www.cnblogs.com/xcxc/archive/2013/01/30/28828