安装完 mysql 后,备份数据库可通过以下方法操作:一、使用 mysqldump 命令备份,基本命令为 mysqldump -u 用户名 -p 数据库名 > 备份文件.sql,可加 –single-transaction 参数保证一致性;二、设置 crontab 定时任务实现自动备份,编写脚本并配置每天凌晨2点执行;三、恢复备份时用 mysql -u 用户名 -p 数据库名
安装完 MySQL 后,备份数据库是保障数据安全的重要一步。很多人第一次操作时可能会觉得有点复杂,其实只要掌握几个基本方法,日常备份并不难。
一、使用 mysqldump 命令备份(最常用)
这是 MySQL 自带的逻辑备份工具,适合大多数场景。基本命令格式如下:
mysqldump -u 用户名 -p 数据库名 > 备份文件.sql
例如,备份名为 mydb 的数据库:
mysqldump -u root -p mydb > mydb_backup.sql
输入密码后,就会在当前目录生成一个 .sql 文件,里面包含了重建数据库的 SQL 语句。
小建议:
- 可以加上 –single-transaction 参数来保证备份一致性(适用于 InnoDB)。
- 如果要备份所有数据库,可以用 -A 或 –all-databases 参数。
二、定期自动备份设置(用 crontab 实现)
手动备份容易忘记,推荐设置定时任务。linux 下一般用 crontab 来定时执行备份脚本。
-
编写一个备份脚本,比如 backup_mysql.sh:
#!/bin/bash DATE=$(date +%Y%m%d) mysqldump -u root -p你的密码 mydb > /backup/mydb_$DATE.sql
-
给脚本添加执行权限:
chmod +x backup_mysql.sh
-
添加定时任务(每天凌晨2点运行):
crontab -e
添加这一行:
0 2 * * * /path/to/backup_mysql.sh
这样就实现了每天自动备份,并按日期命名保存。
三、恢复备份的方法也别忘了
备份只是第一步,能恢复才是关键。恢复数据库也很简单,只需要导入 .sql 文件:
mysql -u 用户名 -p 数据库名 < 备份文件.sql
如果备份的是整个实例(用了 –all-databases),恢复时可以不指定数据库名:
mysql -u root -p < all_backup.sql
注意:恢复前最好确认目标数据库为空或可覆盖,否则可能引起冲突。
四、备份文件存哪更安全?
备份文件不能只放在本地服务器上,一旦磁盘损坏或者被攻击就全没了。建议:
- 定期把备份文件拷贝到外网存储或云盘
- 使用 rsync 或 scp 自动上传到远程服务器
- 保留多个时间点的备份,防止误删后无法找回
有些公司会采用“3-2-1”原则:至少3份副本,存在2种不同介质,其中1份在异地。
基本上就这些。备份这事不复杂,但很容易被忽略,尤其是刚装好 MySQL 的时候。早点配置起来,以后省心不少。