mysqldump是最常用可靠的mysql备份方式,生成可读sql文件;支持单库/多库备份、时间戳命名、--single-transaction等参数提升一致性与兼容性,并可压缩节省空间。

使用 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 环境或避免恢复报错)
完整示例:
模板采用响应式设计,自动适应手机,电脑及平板显示;满足单一店铺外卖需求。功能:1.菜单分类管理2.菜品管理:菜品增加,删除,修改3.订单管理4.友情链接管理5.数据库备份6.文章模块:如:促销活动,帮助中心7.单页模块:如:企业信息,关于我们更强大的功能在开发中……安装方法:上传到网站根目录,运行http://www.***.com/install 自动
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









