./table_compare -source sqlserver:test1/\'Qa\!@#$%^\&\(\)\'@172.17.104.185:1433 -source_table zfl.dbo.aa -target sqlserver:test1/\'Qa\!@#$%^\&\(\)\'@172.17.104.185:1433 -target_table zfl.dbo.aa

(1)@需要整个密码加\'\'转义,例如:\'P@ssword\'
(2)如@和!、&、(、)同时存在,!、&、(、)需要\!\&\(\)这样转义,例如:\‘Qa\!@#$%^\&\(\)\‘
(3)单引号’和@不能一起使用

字符串中包含引号的可以有下列几种写法:
一个字符串用单引号“’”来引用的,该字符串中的单引号“’”字符可以用“’’”方式转义。
一个字符串用双引号“””来引用的,该字符串中的“””字符可以用“”””方式转义。
也可以继续使用在引号前加一个转义字符“\”来转义的方式。
一个字符串用双引号“””来引用的,该字符串中的单引号“’”不需要特殊对待而且不必被重复或转义。同理,一个字符串用单引号“’”来引用的,该字符串中的双引号“””不需要特殊对待而且不必被重复或转义。

例1:set password for ‘testuser‘@’%’ = password(‘1qaz'1qa'z’); ###密码含有单引号

    ./tableexp mysql:testuser/1qaz\'1qa\'z@192.168.0.100:33333 -table test.mysql_column_tab -edir /tmp
或./tableexp mysql:testuser/"1qaz'1qa'z"@192.168.0.100:33333 -table test.mysql_column_tab -edir /tmp

例2:set password for ‘testuser‘@’%’ = password(‘1qaz”1qa”z’); ####密码含有双引号

    ./tableexp mysql:testuser/1qaz\"1qa\"z@192.168.0.100:33333 -table test.mysql_column_tab -edir /tmp
或./tableexp mysql:testuser/'1qaz"1qa"z'@192.168.0.100:33333 -table test.mysql_column_tab -edir /tmp

例3:set password for ‘testuser‘@’%’ = password(‘1qaz'1qa”z’); ###密码包含单双引号

    ./tableexp mysql:testuser/1qaz\'1qa\"z@192.168.0.100:33333 -table test.mysql_column_tab -edir /tmp

例4:set password for ‘testuser‘@’%’ = password(‘1qaz/qaz’); ###密码包含/斜杠

    ./tableexp mysql:testuser/1qaz\/qaz@192.168.0.100:33333 -table test.mysql_column_tab -edir /tmp
或./tableexp mysql:testuser/1qaz/qaz@192.168.0.100:33333 -table test.mysql_column_tab -edir /tmp

例5:set password for ‘testuser‘@’%’ = password(‘1qaz\nnm’); ###密码包含\斜杠

    ./tableexp mysql:testuser/1qaz\\nnm@192.168.0.100:33333 -table test.mysql_column_tab -edir /tmp

例6:set password for ‘testuser‘@’%’ = password(‘1q*az@nnm’); ###密码包含@字符

    ./tableexp mysql:testuser/"'1q*az@nnm'"@192.168.0.100:33333 -table test.mysql_column_tab -edir /tmp
或./tableexp mysql:testuser/\'1qaz@nnm\'@192.168.0.100:33333 -table test.mysql_column_tab -edir /tmp

例7:set password for ‘testuser‘@’%’ = password(‘1q”az@nnm’); ###密码包含@和”字符

     ./tableexp mysql:testuser/\'1q\"az@nnm\'@192.168.0.100:33333 -table test.mysql_column_tab -edir /tmp

注:单引号在中间可以用'转义,在两边是不可以的
123'123:

'123'123':

文档更新时间: 2022-10-02 13:32   作者:周风磊