当前位置: 首页 > article >正文

MySQL 定时备份与恢复

MySQL 定时备份与恢复

一、MySQL 定时备份

1.1 使用 mysqldump 备份数据库

mysqldump 是 MySQL 提供的一个备份工具,用于导出数据库的内容。常见的备份命令如下:

mysqldump -u [用户名] -p[密码] [数据库名] > /path/to/backup/database_backup.sql

参数说明:

  • -u [用户名]:MySQL 的用户名。
  • -p [密码]:MySQL 用户的密码(没有空格)
  • [数据库名]:要备份的数据库名称。 /path/to/backup/database_backup.sql:备份文件的保存路径及文件名

1.2 使用 cron 定时任务设置自动备份

在 Linux 系统中,可以使用 cron 来设置定时任务自动执行备份。

  1. 编辑 crontab 配置文件:
crontab -e
  1. 添加以下行来每周日晚上 2 点进行数据库备份:
0 2 * * 0 /usr/bin/mysqldump -u [用户名] -p[密码] [数据库名] > /path/to/backup/database_backup_$(date +\%F).sql
0 2 * * 0:表示每周日凌晨 2 点执行任务。
0:分钟(0 分钟,即整点)
2:小时(2 点)
*:表示每月的每一天
*:表示每月的每一个月
0:表示星期日(周日是 0,周一是 1,以此类推)
  • $(date +\%F):自动生成当前日期,备份文件名会包括日期。

1.3 备份目录清理

为了避免备份文件占满硬盘,可以设置一个清理旧备份文件的定时任务。例如,保留 7 天内的备份,删除 7 天之前的备份文件:

0 3 * * * find /path/to/backup/ -type f -name "*.sql" -mtime +7 -exec rm {} \;

二、MySQL 恢复备份

2.1 使用 mysql 命令恢复备份

mysql -u [用户名] -p[密码] [数据库名] < /path/to/backup/database_backup.sql

参数说明:

  • -u [用户名]:MySQL 用户名。
  • -p [密码]:MySQL 用户密码。
  • [数据库名]:要恢复的数据库名称。
  • /path/to/backup/database_backup.sql:备份文件的路径。

PS: 将会按你备份的sql恢复, 且不可还原,操作需谨慎。最后使用操作新数据库还原的方式

2.2 恢复到新数据库

  1. 创建新数据库:
mysql -u [用户名] -p[密码] -e "CREATE DATABASE new_database;"
  1. 恢复备份到新数据库:
mysql -u [用户名] -p[密码] new_database < /path/to/backup/database_backup.sql

PS: 数据无价,所有涉及到数据库的操作,需慎重,优先备份。


http://www.kler.cn/a/545848.html

相关文章:

  • snort3.0 获取注册规则(19000多条)
  • DeepSeek 开放平台无法充值使用 改用其他中转平台API调用DeepSeek-chat模型方法
  • iThenticate有中文版官网吗,是否可信
  • 【鸿蒙开发】第三十六章 状态管理 - V1V2混用和迁移指导
  • Halcon和VisionMaster还有Opencv中旋转矩形的处理
  • 深入了解常见MCU架构:ARM、AVR与其他嵌入式系统
  • DeepseeK自动写作,自动将回答导出文档
  • C++之线程
  • linux 安装nginx
  • JENKINS(全面)
  • 自动化测试实战
  • MG协议转换器:破解暖通设备通讯壁垒的智能钥匙
  • [鸿蒙笔记-基础篇_生命周期篇] Harmony OS
  • HTTP请求Host注入
  • 【原理图PCB专题】自制汉字转码工具,适配Allgero 17版本 Skill
  • 理解WebGPU 中的 GPUDevice :与 GPU 交互的核心接口
  • 图神经网络简介
  • 理解 WebGPU 中的 GPUQueue:GPU 的命令队列
  • 机器学习:朴素贝叶斯
  • 指标+大模型,构建更全、更准、更快的数据分析体验