mysql备份用自带的备份工具mysqlmp
每天自动执行用cron工具,把mysql的备份命令放在.sh文件里面
.sh文件放在/etc/cron.daily目录,就会每天自动执行了。
2. oracle数据库如何每天自动执行脚本完成正式数据库到备份数据库的备份
写个脚本完成正式数据库到备份数据库的备份
再设定Task Schele 每天某个时间自动执行这个脚本
3. 怎么备份远程mysql数据库的脚本文件
在MySQL中进行数据备份的方法有两种:
1. mysqlhot
这个命令会在拷贝文件之前会把表锁住,并把数据同步到数据文件中,以避免拷贝到不完整的数据文件,是最安全快捷的备份方法。
命令的使用方法是:
mysqlhot -u root -p<rootpass> db1 db2 … dbn <output_dir>
如果需要备份全部数据库,可以加上–regexp=”.*”参数。
Mysqlhot命令可自动完成数据锁定工作,备份时不用关闭服务器。它还可以刷新日志,使备份文件和日志文件的检查点能保持同步。
2. mysqlmp
这个命令是用来把数据库倒成sql文件的,是非常古老的命令了。
命令的使用方法是:
mysqlmp -u root -p<rootpass> –hex-blob db1 > db1.sql
加上–hex-blob参数以后,blob数据会被类似BASE64的方法转换为文本来存储在sql文件中,就不会导致sql文件格式问题了。经过测试,通过这种方法备份的blob数据再重新恢复回去能够完全正确。
如果要备份所有的数据库,可以加上–all-databases参数。
用mysqlmp命令还可直接把数据库转移到另外一台服务器上,不用生成备份文件。重复执行可定期更新远程数据库。
% mysqladmin -h remote_host create testdb
% mysqlmp –opt testdb | mysql -h remote_host testdb
另外还可通过ssh远程调用服务器上的程序,如:
% ssh remote_host mysqladmin create testdb
4. 如何使用crontab每天自动备份Mysql数据库
运行ssh工具putty,输入服务器地址,帐号和密码连接上服务器:
切换到mysql安装目录下,然后使用VI创建一个文件(backup_mydb.sh):
【PS:vi操作方法:按“i”可写,写好保存先按“ESC”,然后按“:(shift + ;)”,写入“wq”,写入退出即可。】
以下为具体脚本:
#!/bin/sh
# File: /路径/mysql/backup_mydb.sh
# Database info
DB_NAME="mydb"
DB_USER="root"
DB_PASS="passwd"
# Others vars
BIN_DIR="/路径/mysql/bin"
BCK_DIR="/home/backup"
DATE=`date +%F`
# TODO
$BIN_DIR/mysqlmp --opt -u$DB_USER -p$DB_PASS $DB_NAME | gzip >$BCK_DIR/db_$DATE.gz
以上为脚本,注意好路径,确认正确后保存退出。
4
ls -l backup_mydb.sh 查看该脚本文件是否有执行权限,例如执行chmod 777 backup_mydb.sh,具体多大权限自己处理!
END
添加crontab任务
对于crontab任务有两种方式,一种为root用户可以直接添加;一种为非root用户需要crontab -e方式来添加;本篇着重以root用户来讲解,执行:
vi /etc/crontab
在最下面添加一条:
0 3 * * * root /路径/backup_mydb.sh
意思就是在每天的3点0分执行这个文件;
写好后保存退出crontab。
重启crontab服务
/etc/init.d/crond restart
END
验证是否成功执行
可以把任务执行的时间调整到服务器时间后两分钟,然后重启crontab,看看是否成功备份指定的数据库!
如果不成功的话,可以手动执行脚本查看是否成功备份,如果备份成功
5. centos 6.5 mysql 自动备份数据库脚本怎么写
#!/bin/bash
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin
export PATH
#数据库用户名
dbuser='root'
#数据库用密码
dbpasswd='********'
需要备份的数据库,多个数据库用空格分开
dbname='xiaohuai xiaohuai2'
#备份时间
backtime=`date +%Y%m%d%H%M%S`
#日志备份路径
logpath='/home/mysqlbak'
#数据备份路径
datapath='/home/mysqlbak'
#日志记录头部
echo ‘"备份时间为${backtime},备份数据库表 ${dbname} 开始" >> ${logpath}/log.log
#正式备份数据库
for table in $dbname; do
source=`mysqlmp -u ${dbuser} -p${dbpasswd} ${table}> ${logpath}/${backtime}.sql` 2>> ${logpath}/mysqllog.log;
6. 如何使用脚本自动备份阿里云rds数据库
1、在ECS上使用mysqlmp进行逻辑备份,再中转到本地服务器。使用ECS中转是为了避免将RDS暴露到公网上。
2、在RDS控制台上的“备份恢复”中找到“数据备份”,七天内的全量备份是带有下载地址的。点击后会产生一个24小时有效的下载地址。下载回去后按照文档说明进行恢复。
7. 如何进行mysql数据库自动备份
打开navicat客户端,连上mysql后,双击左边你想要备份的数据库。点击“计划”,再点击“新建批处理作业”。
双击上面的可用任务,它就会到下面的列表里去,代表你选择了这个任务。
点击保存,弹出个命名对话框,给这个任务取个名字,点击“确定”。
点击“设置”计划任务。
弹出的对话框,选择“计划”,再点击“新建”。
这里设置为从2014年1月24号起每天早上九点备份该数据库。如果你想提高备份频率、或者设置备份截止日期,请点击“高级”。
高级选项可以把备份设置的更精细,比如这里设置的是在24小时内每隔2小时就备份一次。加上前面的基本设置,任务计划就是:从2014年1月24号开始,每天九点,每隔2小时备份一次,每天的备份都持续24小时。
最后,输入电脑密码就大功告成。
8. 如何编写一个windows下的oracle自动备份脚本
@echo off
echo ================================================
echo Windows环境下Oracle数据库的自动备份脚本
echo 1. 使用当前日期命名备份文件。
echo 2. 自动删除7天前的备份。
echo ================================================
::以“YYYYMMDD”格式取出当前时间。
set BACKUPDATE=%date:~0,4%%date:~5,2%%date:~8,2%
::设置用户名、密码和要备份的数据库。
set USER=xxx
set PASSWORD=123456
set DATABASE=dbtest
::创建备份目录。
if not exist "D:\backup\data" mkdir D:\backup\data
if not exist "D:\backup\log" mkdir D:\backup\log
set DATADIR=D:\backup\data
set LOGDIR=D:\backup\log
exp %USER%/%PASSWORD%@%DATABASE% file=%DATADIR%\data_%BACKUPDATE%.dmp log=%LOGDIR%\log_%BACKUPDATE%.log
::删除7天前的备份。
forfiles /p "%DATADIR%" /s /m *.* /d -7 /c "cmd /c del @path"
forfiles /p "%LOGDIR%" /s /m *.* /d -7 /c "cmd /c del @path"
exit
9. 请问mysql怎么自动备份数据库
数据库的自动备份,可以减轻维护者的工作量也便于系统恢复,对于比较重要的数据库,最好还是设置下自动备份。
工具/原料
navicat for mysql
mysql 5.5
方法/步骤
打开navicat客户端,连上mysql后,双击左边你想要备份的数据库。点击“计划”,再点击“新建批处理作业”。
10. 如何使用crontab每天自动备份Mysql数据库
1、建立自动备份脚本
为了使数据库备份和恢复的符合我们的实际要求(备份保留七天,每天凌晨备份一次),用一段符合要求的Shell脚本来实现整个备份过程的自动化。
[root@mysqltest ~]# vim mysql-backup.sh
#!/bin/bash
##作者:Barlow##
##最后修订:2013-6-25##
#脚本作用:备份Mysql数据库
#
#设定备份保留天数K
K=7
#
TODAY=`date '+%Y%m%d'`
KDAY=`date -d "$TODAY - $K day" '+%Y%m%d'`
BACKDIR=/var/mysqlbak/$TODAY
KDAYDIR=/var/mysqlbak/$KDAY
mkdir -p $BACKDIR
#
# The Password of MySQL
ROOTPASS=******* ##将*替换为实际mysql数据库的root密码
#
# Get the Name of Database
DBLIST=`ls -p /var/lib/mysql | grep / | tr -d /`
#
# Backup with Database
for dbname in $DBLIST
do
mysqlhot $dbname -u root -p $ROOTPASS $BACKDIR | logger -t mysqlhot
done
#
#删除过期备份
if [ -d "$KDAYDIR" ];then
rm -rf $KDAYDIR
exit
fi
改变脚本权限,root具有完全权限,其他用户没有任何权限:
[root@mysqltest ~]# chmod 700 mysql-backup.sh
运行一次脚本:
[root@mysqltest ~]# ./mysql-backup.sh
查看运行结果:
[root@mysqltest ~]# ll /var/mysqlbak/20130625/
mysql/ wordpress/
[root@mysqltest ~]# ll /var/mysqlbak/20130625/
总用量 8
drwxr-x---. 2 mysql mysql 4096 6月 25 14:26 mysql
drwxr-x---. 2 mysql mysql 4096 6月 25 14:26 wordpress
可以看到备份已经成功完成。
2、创建自动任务每天运行
[root@mysqltest ~]# crontab -e
00 01 * * * /root/mysql-backup.sh
##每天凌晨1点运行一次