扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
利用UCache灾备云平台,可作为一个工具,在window服务器现有架构不变的情况下,针对Mysql数据库每天自动备份定时备份。
10年的邢台网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。全网营销推广的优势是能够根据用户设备显示端的尺寸不同,自动调整邢台建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。成都创新互联从事“邢台网站设计”,“邢台网站推广”以来,每个客户项目都认真落实执行。
(1)新建备份任务
UCACHE灾备云控制台登录账号后:点击【服务器定时数据保护】--【数据备份】点击【新建】按钮,然后选要保护的对象(您的生产服务器节点),选中对应的客户端,选择【文件系统】然后点击【 下一步 】
(2)设置备份策略
选择要进行备份的文件
(3)永久增量备份与数据保留设置
选择完要过滤的数据之后点击下一步,可进行下一步备份的高级功能选择,各个选项说明如下:
【永久增量备份】开启了永久增量备份每一次增量备份都会进行一次时间点合成形成新的一个永久增量时间点等效于完备时间点。
【数据保留策略】开启数据保留策略一共有三种保留策略分别为数据保留期限、保留副本数、按备份策略的备份周期设置副本保留策略默认选中数据保留期限一年。可以设置保留完全副本的个数最大可设置1024个副本按备份策略的备份周期设置副本保留策略最大可设置99999个副本。
【传输和存储加密】开启传输加密与存储加密选项开启此功能的任务的数据在传输和存储上都经过加密处理。一共有两种加密方式AES256加密算法、SM4加密算法。
【数据压缩】默认不开启开启该选项后默认启用快速压缩可选择启用强力压缩
【重复数据删除】勾选该选项可以启动源端重复数据删除的功能该选项在建立任务后不能通过修改任务的方式更改此属性。指纹库需要提前创建才能成功开启重删功能
最后新建完成
目录和文件内容,可以全选和分选,还可以利用UCACHE灾备云控制台的“文件过滤”“目录过滤”“时间过滤”功能进行不必要的数据不进行备份策略添加。为了备份效率不建议两个任务包含同一文件。
(4)设置邮件告警
备份执行完毕,会得到系统的执行反馈,也可以设定告警监控策略,进行邮件监控
通用规律只有使用 --all-databases (-A) 会 ERROR 1356,那就看看他到底备份了什么东西。于是喊上同事一起 less 看了下,上下扫了两眼。突然发现:1. 备份 SQL 文件里 DROP 掉了 mysql.proc;2. 后CREATE了一个新的 mysql.proc;3. LOCK TABLES 和 UNLOCK TABLES 中间居然没有备份 CREATE ROUTINE 任何数据?这不就是相当于每次导入全备都给我一个没有任何 sys schema routines 的全新 mysql.proc 表?那这不就异常的尴尬?
---- Table structure for table `proc`--
---- Dumping data for table `proc`-
真相大白在官方文档【sys-schema-usage】官方文档明确的告诉我们不会备份 sys 库。但在使用 mysqldump 在执行 --all-databases 会清空 mysql.proc 导致 sys 无法正常使用;这是一个 BUG,并且只存在于 MySQL 5.7.x !
1、mysql_upgrade install or upgrade sys schema
这个方案适用于 sys 库已经因为 mysqldump 导入而损坏的情况下使用。
注意:mysql_upgrade 在修理 sys 库的同时,还修理 mysql 库和用户库表(期间加锁且速度一般),有极小可能会误伤;使用 mysql_upgrade 的时候要加上 --upgrade-system-tables,不然会扫描用户库表。
2、全备时同时备份 sys 库
这个方案适用于需要还原的数据库,sys 库也不太正常的情况下使用;在全备后额外再备份一份 sys 库用于修复。
注意:不适用于做主从时使用它。
3、使用 databases 全备
这个方案适用于所有场景的全备需求,100% 安全。
4、使用 mysql-sys 开源代码
如果你的数据库 sys 全部中招了,又是生产库。那你只能用这个方法;
mysql-sys:
中记录了 sys 库的创建语句将文件下载到本地,然后根据数据库版本,执行以下命令即可。
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
mysqlhotcopy $dbname -u root -p $ROOTPASS $BACKDIR | logger -t mysqlhotcopy
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点运行一次
数据库的自动备份,可以减轻维护者的工作量也便于系统恢复,对于比较重要的数据库,最好还是设置下自动备份。
工具/原料
navicat for mysql
mysql 5.5
方法/步骤
打开navicat客户端,连上mysql后,双击左边你想要备份的数据库。点击“计划”,再点击“新建批处理作业”。
双击上面的可用任务,它就会到下面的列表里去,代表你选择了这个任务。
点击保存,弹出个命名对话框,给这个任务取个名字,点击“确定”
点击“设置”计划任务。
弹出的对话框,选择“计划”,再点击“新建”。
这里设置为从2014年1月24号起每天早上九点备份该数据库。如果想提高备份频率、或者设置备份截止日期,请点击“高级”。
高级选项可以把备份设置的更精细,比如这里设置的是在24小时内每隔2小时就备份一次。加上前面的基本设置,任务计划就是:从2014年1月24号开始,每天九点,每隔2小时备份一次,每天的备份都持续24小时。
最后,输入电脑密码就大功告成。
使用navicat工具连接mysql数据库,这里以navicat for Mysql工具为例。如果数据库在本机,那么连接ip处写localhost即可,如果数据库在其他机器,那需要写具体的ip地址。
设置mysql备份文件的存储路径。新建连接页面,设置连接信息的右侧有个高级按钮,点击,进入高级设置页面,然后设置保存路径。如果已连接的要打开这个高级页面的话,右键点击连接,点连接属性。
然后在navicat中点击上方的计划按钮,再点击下方的新建批处理作业按钮。
进入批处理作业页面后,在左侧数据库处选择想要备份的数据库,单击,该数据库就会出现在右侧可用任务中。
然后在可用任务中单击该任务,点击中间的选择按钮,该任务就会到已选择的任务中,也可在可用任务中双击该任务,也会到已选择的任务中。
然后点击上方的保存按钮,输入想要设置的文件名,点击确定。
然后该任务就会出现在计划列表中。
选中该计划,点击设置计划任务,弹出框点击计划按钮。
点击新建按钮,然后设置想要自动备份的周期以及开始时间,然后点击应用。
然后会弹出设置账户信息对话框,这里我们输入当前计算机的账户密码就ok啦。
到这里任务创建完毕,到时见后,就会自动执行备份,我这里设置的是每个月1号的9:00执行备份任务。
MYSQL数据如何实时备份
依次单击:开始--程序--Microsoft SQL Server--企业管理器--SQL Server组--管理--数据库维护计划
在右侧空白处右键单击,新建维护计划--勾选要备份的数据库--下一步
指定数据库备份计划--调度--单击"更改"--设置备份的时间,备份周期--下一步
每日频率即是每天什么时间开始进行备份
发生频率即是执行的周期
指定备份磁盘目录--修改"使用此目录"的路径作为备份数据库的存放路径.勾选删除早于此时间的文件,我这里选择一周,即是数据库备份文件把一周前的进行删除
给此任务计划填写一个名字:back 2单击"完成",就可以在数据库维护计划中看到刚才新建的计划.
注意事项
一定要开启sql server agent服务
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流