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博客

相关推荐
子非衣13 分钟前
MySQL修改JSON格式数据示例
android·mysql·json
钊兵1 小时前
数据库驱动免费下载(Oracle、Mysql、达梦、Postgresql)
数据库·mysql·postgresql·oracle·达梦·驱动
隔壁老王1563 小时前
mysql实时同步到es
数据库·mysql·elasticsearch
Hanson Huang6 小时前
【存储中间件API】MySQL、Redis、MongoDB、ES常见api操作及性能比较
redis·mysql·mongodb·es
LUCIAZZZ6 小时前
EasyExcel快速入门
java·数据库·后端·mysql·spring·spring cloud·easyexcel
yuanbenshidiaos6 小时前
【正则表达式】
数据库·mysql·正则表达式
雾里看山9 小时前
【MySQL】内置函数
android·数据库·mysql
geovindu9 小时前
python: SQLAlchemy (ORM) Simple example using mysql in Ubuntu 24.04
python·mysql·ubuntu
清水加冰11 小时前
【MySQL】索引
数据库·mysql