Mac 上使用 DBeaver 执行 Dump Database

Mac 上使用 DBeaver 执行 Dump Database

本文整理的是在 macOS 上通过 DBeaver 对 MySQL/MariaDB 数据库执行整库导出的常用流程。

适用范围

  • 操作系统:macOS
  • 数据库类型:MySQL、MariaDB
  • 工具:DBeaver

前提条件

DBeaver 的 Dump database 不是纯图形化导出,它依赖数据库原生客户端工具:

  • MySQL 常用:mysqldump
  • MariaDB 常用:mariadb-dump

先在终端确认工具已经安装:

bash 复制代码
which mysqldump
which mariadb-dump

如果能返回工具路径,说明本机已安装对应客户端。

一、配置 DBeaver 的本地客户端

如果执行导出时提示找不到 mysqldumpmariadb-dump,通常是 Client Home 配置错误。

操作步骤

  1. 打开 DBeaver。
  2. 进入 Database -> Driver Manager
  3. 选择当前连接实际使用的驱动:
    • MySQL
    • MariaDB
  4. 点击 Edit
  5. 找到 Local ClientNative Client 配置项。
  6. 新增一个 Client Home。
  7. 将路径指向数据库客户端安装目录,而不是 JDBC 驱动目录。
  8. 保存配置。

说明

  • 不要把 Client Home 指到 mysql-connector-java 之类的 JDBC 驱动目录。
  • 应当指向安装了 mysqldumpmariadb-dump 的客户端目录。
  • 如果文件选择窗口看不到目标目录,可按 Command + Shift + G 手动输入目录路径进入。

二、执行整库导出

操作步骤

  1. 在 DBeaver 左侧数据库导航树中,右键目标数据库。
  2. 选择 Tools -> Dump database
  3. 选择导出范围:
    • 整个数据库
    • 或指定表
  4. 设置导出文件位置和文件名。
  5. 根据需要勾选导出参数,例如:
    • --routines
    • --add-drop-table
    • --extended-insert
    • --skip-lock-tables
  6. 确认用户名、端口等连接信息无误。
  7. 点击开始执行导出。

三、推荐参数说明

常见参数含义如下:

  • --routines:导出存储过程和函数
  • --add-drop-table:在建表语句前增加删表语句
  • --extended-insert:使用批量插入语法,减小文件体积
  • --skip-lock-tables:避免对表加锁,适合部分在线导出场景

是否使用这些参数,取决于你的恢复要求和业务运行状态。

四、常见问题排查

1. 提示找不到 mariadb-dumpmysqldump

典型原因:

  • DBeaver 把 Client Home 配成了 JDBC 驱动目录
  • 本机未安装 MySQL/MariaDB 客户端工具

处理方式:

  1. 先用 which mysqldumpwhich mariadb-dump 确认工具存在。
  2. 回到 DBeaver,重新配置 Local Client
  3. 确保选中的是当前连接真实使用的驱动类型。

2. 导出结束后提示 Process failed (exit code = 143)

这类报错通常表示导出进程被终止,不一定代表 SQL 内容完全不可用。

建议排查:

  1. 先检查导出文件是否已经生成。
  2. 检查文件大小是否正常。
  3. 查看文件末尾内容是否完整。
  4. 若 DBeaver 反复报错,可直接改用命令行执行导出。

3. 文件选择窗口中找不到客户端目录

这是 macOS 中较常见的情况。

处理方式:

  1. 在目录选择窗口按 Command + Shift + G
  2. 手动输入客户端目录
  3. 进入后完成选择

五、命令行备用方案

如果 DBeaver 图形界面导出不稳定,可直接使用命令行工具导出。

示例:

bash 复制代码
mysqldump -u <用户名> -p --host=<主机> --port=<端口> <数据库名> > <导出文件名>.sql

如果需要导出存储过程等内容,可补充参数:

bash 复制代码
mysqldump -u <用户名> -p --host=<主机> --port=<端口> --routines --add-drop-table --extended-insert --skip-lock-tables <数据库名> > <导出文件名>.sql

六、使用建议

  • 小库或临时导出:可直接使用 DBeaver 图形界面
  • 大库或重要备份:优先使用命令行 mysqldump / mariadb-dump
  • 备份完成后,建议抽样检查 SQL 文件头尾内容,避免拿到损坏文件

七、结论

在 macOS 上使用 DBeaver 执行 Dump database,关键点不在 JDBC 驱动,而在本地原生客户端工具配置是否正确。只要 Local Client 配置到正确的 MySQL/MariaDB 客户端目录,整库导出通常可以正常完成。