复制date文件夹备份
============================
假想环境:
mysql 安装位置:c:mysql
论坛数据库名称为:bbs
数据库备份目的地:c:db_bak
============================
新建db_bak.bat,写入以下代码
*******************************code start*****************************
net stop mysql
xcopy c:mysqldatabbs*.* c:db_bakbbs%date:~0,10% /s /i
net start mysql
*******************************code end *****************************
然后使用windows的“计划任务”定时执行该批处理脚本即可。(例如:每天凌晨3点执行back_db.bat)
解释:备份和恢复的操作都比较简单,完整性比较高,控制备份周期比较灵活,例如,用%date:~0,10%。此方法适合有独立主机但对mysql没有管理经验的用户。缺点是占用空间比较多,备份期间mysql会短时间断开(例如:针对30m左右的数据库耗时5s左右),针对%date:~0,10%的用法参考 。
2、mysqldump备份成sql文件
==============
假想环境:
mysql 安装位置:c:mysql
论坛数据库名称为:bbs
mysql root 密码:123456
数据库备份目的地:d:db_backup
对于MySQL的备份,最好的方法就是直接备份MySQL数据库的Data目录。下面提供了一个利用WinRAR来对Data目录进行定时备份的方法。
首先当然要把WinRAR安装到计算机上。
将下面的命令写入到一个文本文件里
*******************************Code Start*****************************
net stop mysql
c:progra~1winrarwinrar a -ag -k -r -s d:mysql.rar d:mysqldata
net start mysql
*******************************Code End*****************************
保存,然后将文本文件的扩展名修改成CMD。进入控制面版,打开计划任务,双击“添加计划任务”。在计划任务向导中找到刚才的CMD文件,接着为这个任务指定一个运行时间和运行时使用的账号密码就可以了。
这种方法缺点是占用时间比较多,备份期间压缩需要时间,mysql断开比第一种方法更多的时间,但是对于文件命名很好。
最近要用到mysql备份,就写了shell脚本用于备份。
#!/bin/bash#定义备份的数据库名称database=***#定义备份的时间currTime=$(date +%Y%m%d)#备份存储目录bakUrl=/opt/$database/db/$currTime#备份文件名databaseBakName=$database.$currTime.sql#备份文件路径databaseBakUrl=$bakUrl/$databaseBakName#判断备份的文件夹是否存在#这里的-d 参数判断备份存储目录是否存在 if [ ! -d $bakUrl ]; then mkdir -p $bakUrl fi #这里的-f参数判断备份文件是否存在 if [ ! -f $databaseBakUrl ]; then mysqldump -u*** -hIP -p*** $database > $databaseBakUrlelserm -rf $databaseBakUrl mysqldump -u*** -hIP -p*** $database > $databaseBakUrlfi
登录后复制
给shell脚本命名为databasebak.sh
赋予脚本权限chmod u+x databasebak.sh
原创文章,作者:筱凯,如若转载,请注明出处:https://www.jingyueyun.com/ask/455.html