Linux实现定时备份MySQL数据库并删除30天前的备份文件
1.MySQL5.6以上版本
2.修改/etc/my.cnf文件
#vim/etc/my.cnf [client] host=localhost user=你的数据库用户 password='你的数据库密码'
3.编写数据库脚本mysql-backup.sh
#vimmysql-backup.sh #!/bin/bash backupDir=数据库备份目录 backupTime=`date+%Y%m%d%H%M%S` mysqldump你的数据库|gzip>$backupDir/你的数据库-$backupTime.sql.gz echo"1."$backupTime"备份完成">>#backupDir/mysql.log cd$backupDir rm-rf`find.-name'*.sql.gz'-mtime+30`>>#backupDir/mysql.log2>&1#删除30天前备份文件 echo"2.删除30天前的备份文件完成">>#backupDir/mysql.log
4.为脚本添加执行权限
#chmod+xmysql-backup.sh
5.测试执行
./mysql-backup.sh
6.添加定时计划
#crontab-e(和vim编辑器一样) #crontab配置文件格式:分时日月周命令 #在最后一行中加入: 03***/usr/sbin/mysql-bakup.sh#表示每天3点00分执行备份 0*/6***/usr/sbin/mysql-bakup.sh#表示每6个小时执行备份
7.重启crontab
#/etc/rc.d/init.d/crondrestart
8.恢复数据库备份文件
#SQL备份文件恢复: mysql-uroot-p你的数据库<备份文件名.sql #压缩文件恢复: gzip<备份文件名.sql.gz|mysql-uroot-p你的数据库
9.附:如果出现问题:"mysqldump:commandnotfound",解决如下:
ln-fs/usr/local/mysql/bin/mysqldump/usr/bin ln-fs/usr/local/mysql/bin/mysql/usr/bin
PS:下面看下linux中备份mysql数据库
在linux中备份mysql数据库,命令是:
[root]#mysqldump-u用户名-p密码--all-databases>/home/mysql/bak.sql
如果报错就添加如下:
mysqldump-hlocalhost-uroot-ppswordroot@172.16.123.88--all-tablespaces--master-data=2--events--routines--all-databases>/home/mysql/mydatas.sql
简单版的:(先保存在本地)
mysqldump-uroot-pdatabaseName>data.sql
查询mysql数据库:whereismysql
进入数据库(当前数据库文件本地):mysql-hlocalhost-u数据库账号-p密码
查看数据库:showdatabases;
查看文件大小:ls-lht
总结
以上所述是小编给大家介绍的Linux实现定时备份MySQL数据库并删除30天前的备份文件,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。