sync-diff-inspector 使用 socket 连接数据库

[target-db]
    host = "127.0.0.1"
    port = /tmp/mysql.sock
    user = "root"
    password = ""
    instance-id = "target-1"
    # remove comment if use tidb's snapshot data
    # snapshot = "2016-10-08 16:45:26"

这样写报错如下

[2020/06/01 09:18:54.534 +00:00] [ERROR] [main.go:38] ["parse cmd flags"] [error="Near line 77 (last key parsed 'target-db.port'): expected value but found '/' instead"] [errorVerbose="Near line 77 (last key parsed 'target-db.port'): expected value but found '/' instead\
github.com/pingcap/errors.AddStack\
\t/home/jenkins/agent/workspace/build_tidb_tools_master/go/pkg/mod/github.com/pingcap/errors@v0.11.5-0.20190809092503-95897b64e011/errors.go:174\
github.com/pingcap/errors.Trace\
\t/home/jenkins/agent/workspace/build_tidb_tools_master/go/pkg/mod/github.com/pingcap/errors@v0.11.5-0.20190809092503-95897b64e011/juju_adaptor.go:15\
main.(*Config).configFromFile\
\t/home/jenkins/agent/workspace/build_tidb_tools_master/go/src/github.com/pingcap/tidb-tools/sync_diff_inspector/config.go:268\
main.(*Config).Parse\
\t/home/jenkins/agent/workspace/build_tidb_tools_master/go/src/github.com/pingcap/tidb-tools/sync_diff_inspector/config.go:239\
main.main\
\t/home/jenkins/agent/workspace/build_tidb_tools_master/go/src/github.com/pingcap/tidb-tools/sync_diff_inspector/main.go:32\
runtime.main\
\t/usr/local/go/src/runtime/proc.go:203\
runtime.goexit\
\t/usr/local/go/src/runtime/asm_amd64.s:1357"] [stack="github.com/pingcap/log.Error\
\t/home/jenkins/agent/workspace/build_tidb_tools_master/go/pkg/mod/github.com/pingcap/log@v0.0.0-20200117041106-d28c14d3b1cd/global.go:42\
main.main\
\t/home/jenkins/agent/workspace/build_tidb_tools_master/go/src/github.com/pingcap/tidb-tools/sync_diff_inspector/main.go:38\
runtime.main\
\t/usr/local/go/src/runtime/proc.go:203"]

现在不支持socket呗?

这里请填写对应的端口,多谢。 比如 tidb 的 4000 端口

请问值班童鞋 修正的SQL可以写到标准输出吗?

你好,

是否指的是不一致 sql 输出到文件,目前有类似的配置
https://pingcap.com/docs-cn/stable/sync-diff-inspector/sync-diff-inspector-overview/

# 保存用于修复数据的 sql 的文件名称
fix-sql-file = "fix.sql"

不输出到文件 输出到stdout 标准输出

然后再接管道直接到下一条命令比如mysql,不落地导入

目前不支持,可以通过脚本来实现哈,fix sql 建议审核下在导入数据库,保证数据的正确性

好的吧 sync-diff-inspector不负责对比表结构并输出fix sql吗?

表结构不会输出到 fix.sql
image
参数可以避免人为修改过 schema,直接对比参数使用

不是 我现在只想把目标数据库的表结构修正为源数据库一样的 修正表结构的SQL输出到哪里了?

你好

当前工具不输出的不同表结构的,有需要可以看下有木有其他工具可以满足。或者将数据重新初始化,保证上下游数据库表结构相同

好的 谢谢啦

:call_me_hand:,这边也反馈下,评估下该需求是否满足产品设计。