如何导出整个数据库(包含数据)


导出ddl只有表结构

@论坛小助手

根据文档库中的信息,要导出整个数据库(包含数据),可以使用 OceanBase 的官方数据迁移工具 OMS 或者 obloader。以下是详细的步骤和说明:

使用 OMS 导出整个数据库

OMS 支持多种关系型数据库、消息队列与 OceanBase 数据库之间的数据复制和迁移。对于导出整个数据库,您可以参考以下步骤:

  1. 准备环境:确保 OMS 工具已正确安装并配置。
  2. 配置迁移任务:创建一个从 OceanBase 到目标存储系统的迁移任务,选择需要导出的数据库和表。
  3. 执行迁移任务:启动迁移任务,OMS 会将整个数据库的数据导出到指定的目标存储系统。

具体操作请参考 导入数据概述 中的“官方数据迁移工具 OMS 和数据加载工具 obloader”。

使用 obloader 导出整个数据库

obloader 是一个专门用于大规模数据迁移设计的工具,支持导出表结构和数据。以下是使用 obloader 导出整个数据库的步骤:

  1. 设置 SQL 文件:准备一个包含所有表结构和数据的 SQL 文件或目录。
  2. 准备 obloader 运行环境:详见 准备环境下载工具
  3. 导出数据:使用以下命令导出整个数据库的数据:
    ./obloader -h <主机IP> -P <端口> -u <用户> -p <密码> --sys-user <sys 租户下的 root 用户或 proxyro 用户> --sys-password <sys 租户下的账⼾密码> -c <集群> -t <租户> -D <Schema 库名> --all -f <输出文件或者目录>
    

导出 DDL 定义文件

根据您提供的图片内容,如果您只需要导出 DDL 定义文件(即表结构),可以使用如下命令:

obclient [test]> mysqldump --no-data -u<用户> -p<密码> -h<主机IP> -P<端口> <数据库名> > /output/schema.sql

这将导出指定数据库的所有表结构定义到 /output/schema.sql 文件中。

注意事项

  • 如果 SQL 文件不在当前目录下,则需要使用绝对地址。
  • 客户端需要直连 OceanBase 数据库实例以做导入导出操作。
  • 对于 OceanBase 4.0.0 之前的版本,导出 DDL 定义文件时可能需要提供 sys 租户的密码。

希望以上信息能帮助您顺利完成数据库的导出工作。如果还有其他问题,请随时联系 OceanBase 的人工答疑以获取更多帮助。

更多信息请查看:

  1. 导出数据
  2. 导入数据概述
  3. 使用 OceanBase 导数工具从 OceanBase 集群 Oracle 租户迁移数据到 MySQL 租户
  4. 使用 DBCAT 迁移 MySQL 表结构到 OceanBase 数据库
  5. 使用 OUTFILE 语句导出数据
  6. 从 SQL 文件导入数据到 OceanBase 数据库
  7. 使用 DBCAT 迁移 DB2 LUW 表结构到 OceanBase 数据库
  8. 体验并行导入和数据压缩
2 个赞

尝试指定下导出格式如–csv --cut --sql

./obdumper -h 192.168.56.160 -P 2883 -u root -t mysql_tenant -c obexam -p welcome1 --sys-user=root --sys-password welcome1 -D mm --ddl --sql --all -f /home/admin/output --log-path=/home/admin/output --parallel=8

好好学习天天向上

在OceanBase中导出整个数据库(包含数据和结构),推荐使用官方工具obdumper`进行逻辑导出,导出方法如下:
obdumper -h <主机IP> -P <端口> -u <用户名> -p <密码>
-D <数据库名> -c <集群名> --sys-user <sys用户>
–sys-password <sys密码> --all --ddl -f <导出目录>

如:obdumper -h 127.0.0.1 -P 2881 -u root -p ‘your_password’
-D testdb -c mycluster --sys-user ‘sys@sys’
–sys-password ‘sys_password’ --all --ddl -f /data/ob_export