mysql的备份最简单的方法就是用mysqldump命令
1.在Linux下的备份
新建一个文件名为mantis.sh用来执行备份程序,将这个文件放到home目录中,然后在根目录下建一个backup目录用来存储备份的文件,代码如下:
#!/bin/sh
file=`date +'%y%m%d'`
mysqldump --opt -u root mantis > /backup/mantis_$file.sql
dfile=`date +%y%m%d --date='7 days ago'`
rm -f /backup/mantis_$dfile.sql
上面代码中的root用户是没有密码的,如果有密码需要在root后加--password选项
需要给mantis.sh执行权限 chmod +x mantis.sh
备份文件名取的是年月日,并且保存了7天的备份。
之后需要定时执行这个程序,我们用crontab,命令如下:
crontab -e
0 5 * * * /root/mantis.sh
2.在windows上备份
windows上备份的思路是创建一个备份的.cmd文件,然后再计划任务中定时执行这个文件。
建立一个mysqlback.cmd文件,内容如下:
mysqldump --opt -u root --port 3360 mantis_test > e:/mantis_data/mantis%date:~0,4%%date:~5,2%%date:~8,2%.sql
echo wscript.echo dateadd("d",-7,date) >%tmp%/tmp.vbs
for /f "tokens=1,2,3,4* delims=-" %%i in ('cscript /nologo %tmp%/tmp.vbs') do (
set y=%%i
set m=%%j
set d=%%k
)
if %m% LSS 12 set m=0%m%
if %d% LSS 12 set d=0%d%
SET nowdate=%y%-%m%-%d%
del e:/mantis_data/mantis%y%%m%%d%.sql
这里的mysql的端口号为3360,root用户没有密码,源数据库为mantis_test,备份的数据库文件存储在 E 盘下的mantis_data目录下,保存7天的备份。