首页/数据/数据库速查/mysqldump 单库备份(-B 与不带 -B)
本包目录(495 条)
MySQL 基础与连接36 条SQL 语法52 条用户与权限21 条
备份与恢复56 条
主从复制与高可用53 条性能与调优57 条Redis 命令96 条Redis 运维与场景124 条

mysqldump 单库备份(-B 与不带 -B)

按库导出有两种模式:带 --databases 会写入建库与 USE 语句,适合跨实例迁移;不带则文件里没有 USE,恢复时必须手工指定目标库。

数据库速查数据更新于 2026-10-12
带建库语句mysqldump -uroot -p --databases appdb > appdb_full.sql
不带建库语句mysqldump -uroot -p appdb > appdb_nodb.sql
多库一次导mysqldump -uroot -p --databases db1 db2 > two.sql

两种模式对比

两种模式对比
# 迁移用:含 CREATE DATABASE 与 USE
mysqldump -uroot -p --databases appdb > appdb_full.sql
# 仅数据迁移用:导入前目标库须已存在
mysqldump -uroot -p appdb > appdb_nodb.sql
mysql -uroot -p appdb2 < appdb_nodb.sql
--databases 后面所有参数都按库名解析;去掉它后只有第一个参数是库名,其余会被当作表名。

易错点

  • 不带 -B 的备份文件没有 USE 语句,直接 mysql < file 会报 No database selected
  • mysqldump db1 db2 会把 db2 当表名而不是第二个库,报 Table 'db1.db2' doesn't exist

数据来源与参考

  • MySQL 8.0 Reference Manual: mysqldump --databases

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌