以下命令失败
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`
他们都失败了。
答案 0 :(得分:8)
在mysqldbcompare
实际看到它之前,你想要mysqldbcompare
的任何反引词都可能被shell解释。
尝试在引号内包含反引号以确保它们正确传递,因此您的命令看起来像这样:
mysqldbcompare --server1=un:pw@server1 --server2=un:pw@server2 --difftype='`sql store-staging`:`store-beta`'