如何使用mysqldump备份数据库_mysql备份示例

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

使用

mysqldump
备份 MySQL 数据库是最常用、最可靠的方式之一,它能生成可读的 SQL 文件,便于恢复、迁移或版本管理。

基础备份命令(单库)

最简单的用法是备份一个数据库到 SQL 文件:

mysqldump -u username -p database_name > backup.sql

执行后会提示输入密码。注意:用户名需有该库的

SELECT
权限,推荐使用专用只读账号。

带时间戳的自动备份文件名

避免覆盖旧备份,建议在文件名中加入日期:

mysqldump -u root -p myapp > myapp_$(date +%Y%m%d_%H%M%S).sql

在 Linux/macOS 中可直接运行;Windows 用户可用 PowerShell 的

Get-Date -Format "yyyyMMdd_HHmmss"
替代。

常用实用参数组合

生产环境建议加上这些选项提升兼容性和可靠性:

--single-transaction
:对 InnoDB 表启用一致性快照,避免锁表(推荐)
--routines
:导出存储过程和函数
--triggers
:导出触发器
--events
:导出事件调度器定义
--set-gtid-purged=OFF
:关闭 GTID 相关语句(用于非 GTID 环境或避免恢复报错)

完整示例:

mysqldump -u root -p --single-transaction --routines --triggers --events --set-gtid-purged=OFF myapp > myapp_full_$(date +%Y%m%d).sql

备份多个库或排除某些表

备份多个指定数据库:

mysqldump -u root -p --databases db1 db2 db3 > multi_db_backup.sql

跳过某个大表(如日志表)节省空间和时间:

mysqldump -u root -p myapp --ignore-table=myapp.log_table > backup_no_log.sql

注意:

--ignore-table
必须写成
db_name.table_name
格式,且区分大小写(取决于系统配置)。

压缩备份文件(节省空间)

直接管道压缩,不生成中间文件:

mysqldump -u root -p myapp | gzip > myapp_$(date +%Y%m%d).sql.gz

恢复时用:

gunzip 

相关推荐