2017-10-07 83 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 

另外,可以在引號中定義用戶名,以避免用戶名出現這樣的問題。