4

以下命令失败

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`

他们都失败了。

4

1 回答 1

8

您打算使用的任何反引号很可能在实际看到它们mysqldbcompare之前实际上已被 shell 解释。mysqldbcompare

尝试在引号内包含反引号以确保它们正确传递,因此您的命令如下所示:

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

于 2016-01-11T15:06:30.890 回答