2017-10-07 44 views
2

我的MySQL服务器的用户名和密码是root/test#123。我正在使用MySQL 5.6.X.字符的密码长度没有限制。使用via文件的mysql密码特殊字符限制

我的问题是,我可以直接从mysql客户端登录,因为mysql -uroot -ptest#123成功。

但我无法使用mysql --defaults-extra-file=/tmp/info.txt登录。

的 “/tmp/info.txt” 内容,

cat /tmp/info.txt 

[client] 
user=root 
password=test#123 

我注意到,它失败的原因为 '#'。如果我使用不带特殊字符的不同密码,则同样可以正常工作。

任何人都可以建议我,如何处理?

又是什么样的人物?

在此先感谢。

+0

这似乎是一个[数年前报告]的错误(https://bugs.mysql.com/bug.php?id=74482)。您可以尝试将整个密码放入双引号中。 –

+0

每当您要使用#或任何特殊字符(即password =“test#123”' –

+0

“)时,将引号添加到***密码值***。感谢你们所有人。这个对我有用。 – Tamil

回答

0

用双引号表示密码将解决此问题。

[client] 
user="root" 
password="test#123" 

mysql --defaults-extra-file=/tmp/info.txt 

另外,可以在引号中定义用户名,以避免用户名出现这样的问题。