如何备份单个数据库_mysql备份操作步骤

来源:这里教程网 时间:2026-02-28 20:39:16 作者:

备份单个 MySQL 数据库最常用、最可靠的方式是使用

mysqldump
命令,它能导出数据库结构(DDL)和数据(DML)为 SQL 脚本文件,便于恢复或迁移。

确认数据库名和用户权限

执行备份前,先登录 MySQL 验证目标数据库是否存在,并确认当前用户对该库有

SELECT
权限(必要)、
LOCK TABLES
(默认开启时需要,可跳过)、
SHOW VIEW
(含视图时需要)等权限。可通过以下命令快速检查:

mysql -u 用户名 -p -e "SHOW DATABASES;"
查看可用数据库列表
mysql -u 用户名 -p -e "USE 数据库名; SHOW TABLES;"
确认库内表可访问

基础备份命令(含密码安全建议)

推荐使用配置文件方式避免密码明文暴露在命令行历史中。若必须临时使用,可按如下格式操作:

基本语法:
mysqldump -u 用户名 -p 数据库名 > 备份文件.sql
更稳妥写法(不显式输入密码):
mysqldump -u 用户名 -p 数据库名 > backup_数据库名_$(date +%Y%m%d).sql
,回车后会提示输入密码
如需跳过锁表(适合读多写少场景):
--skip-lock-tables
如需兼容其他 MySQL 版本或导出为更通用格式:
--compatible=mysql40
--no-tablespaces

包含结构与数据的完整备份选项

默认

mysqldump
已导出建表语句和 INSERT 语句,但以下参数可增强可靠性:

--single-transaction
:对 InnoDB 表启用一致性快照,避免锁表,推荐生产环境使用
--routines
:导出存储过程和函数
--triggers
:导出触发器
--events
:导出事件调度器任务(如有)
组合示例:
mysqldump -u 用户名 -p --single-transaction --routines --triggers --events 数据库名 > full_backup.sql

验证备份文件有效性

备份完成后不要直接归档,应快速验证是否可读、是否完整:

检查文件大小是否明显异常(如为 0 字节或仅几 KB,可能导出失败)
head -n 20 backup.sql
查看开头是否有
CREATE DATABASE
USE `数据库名`
等标识
尝试导入到测试库:
mysql -u 用户名 -p 新测试库名 ,观察是否报错

相关推荐