Export configuration(导出配置)

这是 DBeaver 调用 mysqldump 工具进行数据库备份时的设置界面。


⚙️ Settings(设置选项)

选项勾选状态含义
No CREATE statements❌ 未勾选默认会在备份文件中生成 CREATE TABLE/CREATE DATABASE 等建表语句。如果勾选,则不生成这些语句,只导出数据。
Compressed❌ 未勾选是否对输出文件进行压缩(生成 .gz 或 .zip 格式)。不勾选则生成纯文本 .sql 文件。
Add DROP statements✅ 已勾选在每个表/视图/存储过程创建前,先执行 DROP TABLE IF EXISTS ...。这样恢复时可以直接覆盖已有对象,避免冲突。建议保留
Disable keys❌ 未勾选在导入数据时暂时禁用外键约束和索引,可以大幅提升导入速度。但如果中途失败,可能导致数据不一致。对应 mysqldump 的 --disable-keys 参数。
Extended inserts✅ 已勾选使用多行 INSERT 语句(如 INSERT INTO table VALUES (1,2,3), (4,5,6)...),而不是逐行插入。可以减少文件大小加快导入速度建议保留
Dump events❌ 未勾选是否导出 MySQL 的事件调度器(Event Scheduler)中的事件。如果数据库有定时任务,建议勾选。
Additional comments❌ 未勾选在导出文件中添加额外的注释信息(如导出时间、版本等),方便阅读但会增加文件大小。
Remove DEFINER❌ 未勾选移除视图、存储过程、触发器等对象中的 DEFINER 子句。DEFINER 指定了对象的创建者身份,如果不移除,恢复时可能因用户不存在而报错。在迁移到不同环境时建议勾选
Dump binaries in hex❌ 未勾选将二进制数据(如 BLOBBINARY 类型)以十六进制格式导出。默认是正常导出,如果遇到特殊字符问题可以尝试勾选。
Structure only❌ 未勾选仅导出表结构(CREATE TABLE 等),不导出数据INSERT 语句)。常用于备份表结构或迁移空库。
No routines❌ 未勾选这个选项很关键:当前是未勾选状态,意味着会导出存储过程、函数等。但您的备份命令中并没有 --routines 参数,说明在命令行中被覆盖了。如果勾选,则会排除存储过程和函数。

📁 Output(输出设置)

选项含义
Output folderC:\PMO\SPM\db备份文件的保存目录。
File name patterndump-${database}-${timestamp}.sql文件名模板。${database} 会被替换为数据库名,${timestamp} 被替换为当前时间戳。最终生成类似 dump-windaedm2_hz-202608210713.sql
Extra command args额外传递给 mysqldump 的命令行参数。在这里可以填写 --ignore-table=数据库名.视图名 来忽略特定视图,或者 --routines 来强制导出存储过程等。

🔐 Security(安全设置)

选项含义
Override user credentials勾选后,可以让 mysqldump 使用不同于当前连接的用户名/密码来执行备份。当前显示为 readonly_hz
提示信息提示外部工具(如 mysqldump)可能需要不同的权限,和 DBeaver 内部连接使用的权限不一定一致。

🔑 Authentication(认证)

选项含义
Authenticate点击后会弹窗让您输入数据库密码,用于外部工具执行备份。
Reset to default重置为默认的认证信息(即使用 DBeaver 当前连接的凭证)。
Override host credentials覆盖主机(host)的认证凭据,可以指定不同的主机/端口/用户进行备份。

🎯 底部按钮

按钮含义
Save task将当前备份配置保存为一个任务,方便以后重复执行。
Local Client…选择本地安装的 mysqldump 客户端路径(DBeaver 已自动检测到 C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqldump.exe)。
Start开始执行备份。

C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqldump.exe –skip-lock-tables –column-statistics=0 –routines –add-drop-table –disable-keys –extended-insert -u ****** –host=112.21.127.00 –port=3308 dbname_001

C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqldump.exe –skip-lock-tables –column-statistics=0 –add-drop-table –disable-keys –extended-insert –hex-blob –comments -u ****** –host=112.21.127.00 –port=3308 dbname_001

上述两条命令逐项对比

参数命令一命令二说明
--skip-lock-tables备份时不锁定表,允许读写并发。适合生产环境。
--column-statistics=0不收集列统计信息,提升备份速度(MySQL 8.0 特性)。
--routines关键差异:导出存储过程、函数和视图。可能触发权限检查。
--add-drop-table生成 DROP TABLE IF EXISTS 语句,恢复时自动覆盖旧表。
--disable-keys导入时暂时禁用索引,大幅提升导入速度
--extended-insert使用多行 INSERT减少文件大小,加快导入。
--hex-blob将二进制数据(BLOB/BINARY)以十六进制导出,避免乱码或损坏。
--comments在 SQL 文件中添加注释信息(导出时间、版本等),便于追溯。
-u / --host / --port连接参数相同。

发表评论

滚动至顶部