MySql定时备份脚本

今天数据库有挂了,真心伤不起!又花了一下午时间学习写了一个定时保存数据的脚本文件,所以记录一下!

1,每天4点备份mysql数据;

2,为节省空间,删除超过3个月的所有备份数据;

3,删除超过7天的备份数据,保留3个月里的 10号 20号 30号的备份数据;

[[email protected] ~]# cd data

[[email protected] ~]# cd /data/dbdata

[[email protected] dbdata]# vim backup_mysq.sh

#输入脚本文件

#

/alidata/server/mysql/bin/mysqldump --all-databases > /data/dbdata/mysqlbak/`date +%Y%m%d`.sql
find /data/dbdata/mysqlbak/ -mtime +7 -name ‘*[1-9].sql‘ -exec rm -rf {} \;
find /data/dbdata/mysqlbak/ -mtime +92 -name ‘*.sql‘ -exec rm -rf {} \;

#这里原来是这样的!

######这个mysql.5.6会报一个错误

mysqldump -uroot -p123456 --all-databases  > /data/dbdata/mysqlbak/`date +%Y%m%d`.sql

find /data/dbdata/mysqlbak/ -mtime +7 -name ‘*[1-9].sql‘ -exec rm -rf {} \;

find /data/dbdata/mysqlbak/ -mtime +92 -name ‘*.sql‘ -exec rm -rf {} \;

#######

测试一下

[[email protected] dbdata]# ./backup_mysql.sh

-bash: ./backup_mysql.sh: Permission denied

###############原因是#####################

在官网文档找到了缘由,大家可以点击这里看看:http://dev.mysql.com/doc/refman/5.1/en/password-security-user.html

MySQL users should use the following guidelines to keep passwords secure.

When you run a client program to connect to the MySQL server, it is inadvisable to specify your password in a way that exposes it to discovery by other users. The methods you can use to specify your password when you run client programs are listed here, along with an assessment of the risks of each method. In short, the safest methods are to have the client program prompt for the password or to specify the password in a properly protected option file.

英文有点烂,但大概读懂意思,翻译过来大意是在命令行下如果要使用密码可以在执行命令后的提示输入里输入密码,或者在指定的安全文件内指定密码。那安全文件时哪个呢?文档对此给出了答案:

Store your password in an option file. For example, on Unix, you can list your password in the [client] section of the .my.cnf file in your home directory:

可以在my.cnf内指定,于是打开我的my.cnf,在[mysqldump]下增加:

user=root
password=root

然保存 运行我那个就可以了

然后再写一个定时

[[email protected] ~]# crontab -e

###

0 4 * * * /data/dbdata/backup_mysql.sh

####

crontab: installing new crontab

然后就ok了

时间: 2024-08-07 08:40:17

MySql定时备份脚本的相关文章

LINUX环境MySQL定时备份脚本

(0)备份目标备份:tel数据库目录:/mysqlbackup/策略:每天3点 (1)创建一个备份用户,用户名未backup 密码backupmysql>grant all on tel. to 'backup'@'localhost' identified by "backup"; 提供更小的权限:mysql>grant select,show view,lock tables,trigger on tel. to 'backup'@'localhost' identif

mysql 定时备份脚本

@echo offchcp 936net stop mysqlset Y=%date:~0,4%set M=%date:~5,2%set D=%date:~8,2%set H=%time:~0,2%set Min=%time:~3,2%set Sec=%time:~6,2%set Time=%Y%%M%%D%_%H%%Min%%Sec%set Log=%Time%xcopy "C:\ProgramData\MySQL\MySQL Server 5.5\Data\gs_0126\*.*"

mysql 定时备份bat脚本 ,方便小型服务简单快速备份mysql

mysql定时备份bat脚本 echo 数据库为用户名为root 密码为root 数据库名为kdykt echo mysqldump 命令如果没有配置环境变量要在bin目录下执行 set "Ymd=%date:~,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%" D: cd D:\phpStudy\MySQL\bin mysqldump --opt -u root --password=root kdykt > kdykt_%Ymd%

mysql自动备份脚本及异地定时FTP

分享个自己写的mysql自动备份脚本.定时执行设置及windows自动FTP,请大家指教. 前提环境:mysql数据库服务器开启vsftpd,并配置合适帐号以便能被内网存储服务器FTP 第一步:编写mysql自动执行脚本 #!/bin/sh # mysql_db_backup.sh: backup mysql databases. # # Last updated: Wed Nov  9 07:01:01 CST 2011 # ----------------------------------

mysql 自动备份脚本

第一步:在你的linux服务器中定义备份目录:复制代码 代码如下: mkdir /var/lib/mysqlbackup cd /var/lib/mysqlbackup第二步:下面是最重要的一步了,就是写定时备份脚本.复制代码 代码如下: vi dbbackup.sh代码文件如下复制代码 代码如下: #!/bin/sh# mysql data backup script## use mysqldump --help,get more detail.#BakDir=/root/back/ysqlb

数据库mysql 分库备份脚本

数据库mysql 分库备份脚本 在企业工作中,我们经常会遇到数据库备份问题,当然我之前不止提到过mysql 主从,现在我们 先来看看单库如何来实现分库定期进行备份的,先看一下以下脚本: vi mysql_backup.sh #!/bin/sh #backup tiandao bbs edoing #coding tonye.li MYUSER=root MYPASS=meidi SOCKET=/data/3306/mysql.sock MYCMD="mysql -u$MYUSER -p$MYPA

MySql 定时备份数据库

转载:MySql 定时备份数据库 每天零点备份一次数据库,备份文件放在指定目录(如果目录不存在则新建),按月存储: 将下面这段命令存储为一个 *.bat 文件,添加一个Windows任务计划程序(Task scheduler)指向这个文件,每天执行一次即可. rem ******Code Start*********** @echo off C: CD C:\Program Files\MySQL\MySQL Server 5.7\bin set "Y=%date:~10,4%" se

mysql数据库备份脚本

自动备份Mysql脚本: 如下脚本为mysql自动备份脚本,仅供参考,可以根据实际情况修改. #!/bin/sh #auto backup mysql #20170329 #Define PATH定义变量 BAKDIR=/data/backup/mysql/`date +%Y-%m-%d` MYSQLDB=webapp MYSQLPW=backup MYSQLUSR=backup #must use root user run scripts 必须使用root用户运行,$UID为系统变量 if

Ubuntu Server下MySql数据库备份脚本代码

明: 我这里要把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/m