mysql数据库自动备份

摘要: 为了减轻DBA的工作,数据库自动备份当然少不了,今天我和大家一起来学习通过crontab实现mysql数据的自动备份     我们在/etc/cron.daily/目录下创建文件backup内容如下   #!/bin/bash #定义变量name的值,/bin/date日期格式为Y年-m月...

为了减轻DBA的工作,数据库自动备份当然少不了,今天我和大家一起来学习通过crontab实现mysql数据的自动备份

 

 

我们在/etc/cron.daily/目录下创建文件backup内容如下

 

#!/bin/bash
#定义变量name的值,/bin/date日期格式为Y年-m月-d日

name=`/bin/date "+%Y-%m-%d"`  

#/usr/bin/mysqldump  备份数据库的命令路径
#-u root 数据库的用户名
#-p password 数据库的密码把password替换成你自己的密码
#--opt database 你要备份的数据库 如果要备份所有的库你可以把--opt database替换成--all-databases前面那个database是你数据库的名字,后面的databases是mysqldump的参数别搞混了
#/home/backup/database$name.sql这个是数据库备份的路径,$符号后面的name就是最前面定义的那个日期,备份的文件将会以你自己定义的文件名加当时的日期来命名

/usr/bin/mysqldump -u root -ppassword --opt test  > /home/backup/test$name.sql 

#这个就是备份所有数据库的命令,和前面的有点小差别
/usr/bin/mysqldump -u root -ppassword --all-databases | gzip --fast > /home/backup/full$name.gz

不一样的地方就是把--opt改成了--all-databases,再就是后面的压缩参数gzip,这个参数也可以使用到前面的那个单个数据库的备份命令中

保存退出

#修改文件backup为可执行文件
chmod +x /etc/cron.daily/backup

进入crontab的配置文件
# cat /etc/crontab

#每小时执行一次/etc/cron.hourly/目录下的文件
01 * * * * root run-parts /etc/cron.hourly
#每天执行一次/etc/cron.hourly/目录下的文件,执行时间是04点
00 04 * * * root run-parts /etc/cron.daily
#每周执行一次/etc/cron.hourly/目录下的文件,每周的第一天04点22分
22 4 * * 0 root run-parts /etc/cron.weekly
每月执行一次/etc/cron.hourly/目录下的文件,每月的第一天04点42分
42 4 1 * * root run-parts /etc/cron.monthly

刚才我们已经把backup脚本创建到了/etc/cron.daily这个目录下,也就是每天04点都会自动执行脚本做数据库的备份了

#重启crond服务
service crond restart

 

------------------------------------------------------------------------------

命令行下具体用法如下: 

mysqldump -u用戶名 -p密码 -d 数据库名 表名 > 脚本名;

导出整个数据库结构和数据
mysqldump -h localhost -uroot -p123456 database > dump.sql

导出单个数据表结构和数据
mysqldump -h localhost -uroot -p123456  database table > dump.sql

导出整个数据库结构(不包含数据)
mysqldump -h localhost -uroot -p123456  -d database > dump.sql

导出单个数据表结构(不包含数据)
mysqldump -h localhost -uroot -p123456  -d database table > dump.sql

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值