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: 数据无价,所有涉及到数据库的操作,需慎重,优先备份。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

唐大帅

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值