最常用、最可靠的方式是使用 mysqldump 命令导出数据库结构和数据为 SQL 脚本;需确认数据库存在及用户具备 SELECT 等必要权限;推荐用 --single-transaction 等参数提升一致性与完整性,并验证备份文件有效性。
备份单个 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
--compatible=mysql40 或 --no-tablespaces
默认 mysqldump 已导出建表语句和 INSERT 语句,但以下参数可增强可靠性:
--single-transaction:对 InnoDB 表启用一致性快照,避免锁表,推荐生产环境使用--routines:导出存储过程和函数--triggers:导出触发器--events:导出事件调度器任务(如有)mysqldump -u 用户名 -p --single-transaction --routines --triggers --events 数据库名 > full_backup.sql
备份完成后不要直接归档,应快速验证是否可读、是否完整:
head -n 20 backup.sql 查看开头是否有 CREATE DATABASE 或 USE `数据库名` 等标识mysql -u 用户名 -p 新测试库名 ,观察是否报错