使用nodejs定时备份mysql数据库与恢复

写在前面

  • 备份是在node.js中使用mysqldump实现
  • 备份的是sql语句
  • 恢复通过直接执行sql语句实现

备份代码

  • 写在nodejs中

    //依赖
    const fs = require('fs');
    const mysqldump = require('mysqldump');

    // 设置数据库连接参数
    const config = {
    connection: {
    host: '127.0.0.1',
    user: '填自己的',
    password: '填自己的',
    database: '填自己的',
    },
    dumpToFile: './backup.sql', // 设置备份文件路径
    };

    // 每1分钟执行一次的定时任务
    const job = new cron.CronJob('0 * * * * *', () => {
    mysqldump(config).then(output => {
    fs.writeFileSync(config.dumpToFile,output.dump);
    })
    .catch(error => {
    console.error(error);
    });
    });

    //启动定时任务
    job.start();

  • 会弹出一个报错,但是对数据没有影响

恢复代码

  • 恢复是直接在cmd窗口中运行

    mysql -uroot -p -Dship_copy < C:/Users/user/Desktop/共享/web/backup.sql

  • 回车后会要求你输入密码

  • -D 后面的是你数据库的名字

  • < 右边的是sql文件的路径

写在后面

  • 网上的教程真的是,一言难尽...
  • 真的很想骂人,互相抄也就算了,抄的还是垃圾...
  • 不知道这样做的意义是什么,把网络环境搞成这样...
相关推荐
倔强的石头_3 天前
《Kingbase护城河》——数据库存储空间全景探测与精细化瘦身实战
数据库
云技纵横3 天前
唯一索引 INSERT 死锁实战:5 秒复现交叉插入的 S 锁循环等待
sql·mysql
沉默王二3 天前
面试官:RAG 不用向量数据库,用 MySQL 硬扛?我:100 万向量不是很轻松?
mysql·面试·ai编程
冬奇Lab3 天前
每日一个开源项目(第134篇):Zvec - 阿里开源的嵌入式向量数据库,向量搜索界的 SQLite
数据库·人工智能·llm
小猿姐3 天前
MySQL Top 10 热点问题 AI 运维实战:从内核诊断到云原生运维
mysql·云原生·aiops
ClouGence4 天前
Oracle CDC 架构优化:从主库直连到 DataGuard 备库同步
数据库·后端·oracle
云技纵横4 天前
Gap Lock 死锁实战:5 秒在本地复现 MySQL 间隙锁死锁
后端·mysql
无响应de神4 天前
三、用户与权限管理
数据库·mysql
摇滚侠4 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql