mysqldbcompare失败,模式名称中带有“ - ”

时间:2016-01-11 13:07:21

标签: mysql shell mysqldbcompare

以下命令失败

mysqldbcompare --server1=un:pw@server1 --server2=un:pw@server2 --difftype=sql store-staging:store-beta

出现以下错误:

  

mysqldbcompare:错误:无法解析指定的数据库:'store-staging:store-beta'。请验证是否以有效格式指定了数据库(即db1 [:db2]),并在需要时正确使用了反引号。如果将非字母数字字符用于数据库名称,则需要使用反引号。解析指定的数据库会导致db1 ='store'和db2 ='store'。

我的问题是如何“逃避”模式,以便它们可以作为此命令的一部分运行?

我尝试了以下所有方法:

'store-staging:store-beta'
"store-staging:store-beta"
`store-staging:store-beta`

'store-staging':'store-beta'
"store-staging":"store-beta"
`store-staging`:`store-beta`

他们都失败了。

1 个答案:

答案 0 :(得分:8)

mysqldbcompare实际看到它之前,你想要mysqldbcompare的任何反引词都可能被shell解释。

尝试在引号内包含反引号以确保它们正确传递,因此您的命令看起来像这样:

mysqldbcompare --server1=un:pw@server1 --server2=un:pw@server2 --difftype='`sql store-staging`:`store-beta`'