tiup dumpling 如何导出试图

【 TiDB 使用环境】生产环境
【 TiDB 版本】5.2.2
【复现路径】
通过mysqldump命令导出tidb视图里面会有一些tidb信息,我想通过tiup dumpling 命令导出视图,然后将视图导入mysql
数据库:thc_1000_abc
视图名:v_abcd

导出命令:
tiup dumpling
–user root
–password aabbccdd
–host 192.168.1.2
–port 4000
–no-data
–tables-list thc_1000_abc.v_abcd
–database thc_1000_abc
–output thc_1000_abc/

【遇到的问题:问题现象及影响】
导出后只有metadata thc_1000_abc-schema-create.sql两个表,没有视图sql,但是通过这个命令导出非视图表正常。
是我使用的命令有问题?

什么试图?:

打错字了,是视图(view)

-W, --no-views Do not dump views (default true) 看新版本 dumpling help ,默认是备份的,你试试升级下 dumpling 版本

TiUP Dumpling 工具可以导出 TiDB 中的表数据,但是目前还不支持导出视图。如果您需要导出视图,可以使用 MySQL 官方提供的 mysqldump 工具,或者使用 TiDB 官方提供的 TiDB Lightning 工具。

如果您使用 mysqldump 命令导出 TiDB 视图,可能会包含一些 TiDB 特有的信息,例如 TiDB 的事务 ID 等。如果您需要将视图导入到 MySQL 中,建议使用 TiDB Lightning 工具,该工具可以将 TiDB 中的数据导出为 MySQL 兼容的格式,包括视图数据。具体操作步骤如下:

  1. 安装 TiDB Lightning 工具:

    tiup install tidb-lightning
    
  2. 配置 TiDB Lightning 工具:

    配置文件示例:

    [lightning]
    # lightning 的日志文件路径
    log-file = "/path/to/lightning.log"
    # lightning 的进度文件路径
    progress-file = "/path/to/lightning.progress"
    # lightning 的配置文件路径
    config-file = "/path/to/lightning.toml"
    
    [tidb]
    # TiDB 的地址
    host = "127.0.0.1"
    # TiDB 的端口号
    port = 4000
    # TiDB 的用户名
    user = "root"
    # TiDB 的密码
    password = ""
    
    [mydumper]
    # mydumper 的导出文件路径
    data-source-dir = "/path/to/mydumper"
    # mydumper 的线程数
    threads = 16
    
    [myloader]
    # myloader 的导入文件路径
    data-source-dir = "/path/to/myloader"
    # myloader 的线程数
    threads = 16
    

    其中,[tidb] 部分是 TiDB 的连接信息,[mydumper] 部分是导出数据的配置,[myloader] 部分是导入数据的配置。

  3. 导出 TiDB 数据:

    使用 TiDB Lightning 工具导出 TiDB 数据,包括视图数据:

    tiup tidb-lightning \
        --config /path/to/lightning.toml \
        --tidb-host 127.0.0.1 \
        --tidb-port 4000 \
        --tidb-user root \
        --tidb-password "" \
        --backend local \
        --enable-checkpoint=false \
        --log-file /path/to/lightning.log \
        --progress-file /path/to/lightning.progress
    

    其中,--backend local 表示将数据导出到本地文件,--enable-checkpoint=false 表示不启用 checkpoint,--log-file--progress-file 分别指定日志文件和进度文件的路径。

  4. 导入 MySQL 数据:

    将导出的数据导入到 MySQL 中,包括视图数据:

    tiup tidb-lightning \
        --config /path/to/lightning.toml \
        --backend local \
        --mydumper-data-dir /path/to/mydumper \
        --myloader-data-dir /path/to/myloader \
        --log-file /path/to/lightning.log \
        --progress-file /path/to/lightning.progress
    

    其中,--backend local 表示从本地文件导入数据,--mydumper-data-dir--myloader-data-dir 分别指定导出和导入数据的路径。

多谢,我试一下

-W, --no-views Do not dump views (default true)
你看反了,默认是不备份的,备份是false
-W=false

非常感谢,我试一下

哦 确实 hh

此话题已在最后回复的 60 天后被自动关闭。不再允许新回复。