如何实现Mysql数据库每天自动备份定时备份?

2024-11-27 05:39:26
推荐回答(3个)
回答1:

利用UCache灾备云平台,可作为一个工具,在window服务器现有架构不变的情况下,针对Mysql数据库每天自动备份定时备份。

(1)新建备份任务

UCACHE灾备云控制台登录账号后:点击【服务器定时数据保护】--【数据备份】点击【新建】按钮,然后选要保护的对象(您的生产服务器节点),选中对应的客户端,选择【文件系统】然后点击【 下一步 】

(2)设置备份策略

选择要进行备份的文件

(3)永久增量备份与数据保留设置

选择完要过滤的数据之后点击下一步,可进行下一步备份的高级功能选择,各个选项说明如下:

【永久增量备份】开启了永久增量备份每一次增量备份都会进行一次时间点合成形成新的一个永久增量时间点等效于完备时间点。

【数据保留策略】开启数据保留策略一共有三种保留策略分别为数据保留期限、保留副本数、按备份策略的备份周期设置副本保留策略默认选中数据保留期限一年。可以设置保留完全副本的个数最大可设置1024个副本按备份策略的备份周期设置副本保留策略最大可设置99999个副本。

【传输和存储加密】开启传输加密与存储加密选项开启此功能的任务的数据在传输和存储上都经过加密处理。一共有两种加密方式AES256加密算法、SM4加密算法。

【数据压缩】默认不开启开启该选项后默认启用快速压缩可选择启用强力压缩

【重复数据删除】勾选该选项可以启动源端重复数据删除的功能该选项在建立任务后不能通过修改任务的方式更改此属性。指纹库需要提前创建才能成功开启重删功能

最后新建完成

目录和文件内容,可以全选和分选,还可以利用UCACHE灾备云控制台的“文件过滤”“目录过滤”“时间过滤”功能进行不必要的数据不进行备份策略添加。为了备份效率不建议两个任务包含同一文件。

(4)设置邮件告警

备份执行完毕,会得到系统的执行反馈,也可以设定告警监控策略,进行邮件监控

回答2:

有两种方法:
1、通过crond定时任务,用mysqldump自动备份数据库
2、通过存储过程,事件配合自动备份数据库

回答3:

确定mysqldump 命令是否可用
1,在 dos模式 下,进入对应mysql bin 目录。 如 本例为 C:\Program Files\MySQL\MySQL Server 5.7\bin
2,输入如下命令
C:\Program Files\MySQL\MySQL Server 5.7\bin>mysqldump --opt -u root --password=pwd tsp >d:/tsp_.sql
其中 -u 表示要登录的用户名称
--password= 用来设置密码
tsp 为 数据库名称
d:/tsp_.sql 为最终生成的文件及对应路径
3,确认命令输完并回车后,文件d:/tsp_.sql 正确生成。
备份自动设置
1,编制备份处理的批处理文件,并保存为以. bat 形式结尾文件(如 mysqlback.bat)
@echo off
set "Ymd=%date:~,4%%date:~5,2%%date:~8,2%"
C:\Program Files\MySQL\MySQL Server 5.7\bin>mysqldump --opt -u root --password=pwd tsp >d:/tsp_%Ymd%.sql
@echo o
2,打开管理工具 中的 “任务计划程序”
按照模板点击“下一步”进行相关操作,在“每日”设置相关的定时工作的时间
选择想要执行的程序
最后点击“完成”即可
可能出现问题
在执行mysqldump测试时,可能会出现错误,错误如下:
mysqldump: Got error: 1449: The user specified as a definer ('root'@'%') does not exist when using LOCK TABLES
此时,需要在mysql工作环境执行如下命令
grant all privileges on *.* to root@"%" identified by ".";
flush privileges;
也可通过navicat.exe 连接mysql 数据库后,在打开查询窗口后,执行上述语句。
---------------------