MySQL - Navicat自动备份MySQL数据

对于从事IT开发的工程师,数据备份我想大家并不陌生,这件工程太重要了!对于比较重要的数据,我们希望能定期备份,每天备份1次或多次,或者是每周备份1次或多次。

如果大家在平时使用Navicat操作数据库,Navicat是自带备份功能的,操作如下

首先,来设置一下Navicat保存备份以及SQL语句的路径

博主使用Navicat16

新建或者编辑连接实例时,点击"高级 ",选择"设置位置",替换为需要保存的地址即可。

一、定时任务自动备份

(一)新建批处理作业

1、打开Navicat,点击" 自动运行**"---->"** 新建批处理作业**"(如果是老版本的Navicat,则是点击"计划")**

博主当前使用的Navicat16

老版本

2、点击" 备份**",然后选择要备份的数据库,然后双击可用的工作中的 "Backup test-backup",test-backup表示需要备份的数据库名**

点击上方的"保存"按钮,即可保存当前的自动运行计划中的批处理作业内容。

设置"配置文件名",点击保存

老版本

在左侧选择要备份的数据库,右侧双击可用任务,在下方会看到任务已选择

(二)设置任务计划

设置任务计划,可以批处理作业自动在某个时刻或者每隔多长时间执行一次备份

1、点击工具栏的设置任务计划按钮,选择触发器选项卡,点击新建

2、设置触发器的备份时间间隔以及执行频率

(1)设置每天的凌晨1点执行一次备份

(2)设置每隔多长时间执行一次,如每隔1分钟执行一次

3、点击工具栏的设置任务计划按钮,选择触发器选项卡,点击编辑``即可

如果需要手动备份,选择新建的任务计划,点击开始即可

就会看到如下日志

(三)SQL脚本实现定时自动备份

bash 复制代码
-- 检查事件调度器是否开启
SHOW VARIABLES LIKE 'event_scheduler';


-- 如果事件调度器返回的值不是 ON,则可以通过以下命令临时或永久开启;或者在 MySQL 配置文件中添加 event_scheduler=ON 并重启 MySQL 服务
SET GLOBAL event_scheduler = ON;


-- 在这个脚本中,你需要替换 your_username, your_password, your_database_name,/path/to/your/backup/directory/ 为你的 MySQL 用户名、密码、数据库名和备份路径
CREATE EVENT backup_database
ON SCHEDULE EVERY 1 DAY
DO
  BEGIN
    SET @backup_dir = '/path/to/your/backup/directory/';
    SET @dbname = (SELECT SCHEMA_NAME FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME = 'your_database_name');
    SET @filename = CONCAT(@backup_dir, @dbname, '_', DATE_FORMAT(NOW(), '\%Y-\%m-\%d-\%H\%i\%s'), '.sql');
 
    SET @command = CONCAT('mysqldump -u your_username --password=your_password ', @dbname, ' --result-file=', @filename);
 
    PREPARE stmt FROM @command;
    EXECUTE stmt;
    DEALLOCATE PREPARE stmt;
  END;

二、手动备份

1、选择需要备份的数据库,点击" 备份**",点击"** 新建备份**"或者右键点击"新建备份"**

2、点击" 备份**"**

也可以在设置保存文件路径的位置看到备份

三、还原备份

1、选择需要备份的数据库,点击" 备份**",点击"** 还原备份**"或者右键点击"还原备份"**

2、选择相应的备份文件,点击" 常规**"---->"** 还原**"即可**

参考链接

使用Navicat实现MySQL自动定时备份_navicat自动备份-CSDN博客

Navicat自动备份数据库(1)_navicat备份数据库路径-CSDN博客

相关推荐
iceland93 小时前
mysql 8递归查询
数据库·mysql
Runing_WoNiu7 小时前
Mysql与Ooracle 索引失效场景对比
数据库·mysql·oracle
哈基米喜欢哈哈哈10 小时前
Uber的MySQL实践(一)——学习笔记
数据库·笔记·后端·mysql
哥哥还在IT中11 小时前
MVCC 实现之探析
数据库·mysql·tidb
野蛮人6号13 小时前
MySQL笔记
数据库·笔记·mysql
苹果醋314 小时前
Deep Dive React 4 How does React State actually work
java·运维·spring boot·mysql·nginx
Ai财富密码15 小时前
【Python爬虫】正则表达式入门及在数据提取中的高效应用
数据库·mysql·php
tq108617 小时前
MySQL definer does not exist 问题分析
mysql
叁沐19 小时前
MySQL 25 MySQL是怎么保证高可用的?
mysql
惊骇世俗王某人1 天前
MySQL数据库索引及底层数据结构
数据结构·数据库·mysql