2013-04-18 92 views
0

我試圖通過PowerShell連接到MySQL服務器。但是,我的密碼似乎不起作用,因爲「舊密碼驗證不再支持,請使用4.1樣式密碼。」我正在使用MySQL ADO.NET驅動程序進行連接,到目前爲止,所有內容都沒有返回錯誤。通過PowerShell連接MySQL數據庫,舊式密碼

# Connection Variables 
$user = 'cantshowusernamehere' 
$pass = 'PretendRealPassword' 
$database = 'PretendDatabaseHere' 
$MySQLHost = 'something.something.ca' 

# Connect to MySQL Database 
$conn = Connect-MySQL $user $pass $MySQLHost $database 

將返回我

異常調用 「打開」 和 「0」 的說法(S): 「認證與 舊的密碼不再被支持,使用4.1風格的密碼。」

任何人都知道我可以通過PowerShell更改爲新的樣式密碼?謝謝,我一直在尋找幾個小時,唯一的解決方案就是那些爲SQL工作使用其他程序(如PHP)的人。

+0

你從哪裏得到'Connect-MySQL' cmdlet,或者它是自定義函數? – vonPryz

+0

http://www.blakepell.com/Blog/?p=615看來.net連接器要求您重置mysql服務器上的用戶密碼,以使用更新的哈希方法進行密碼存儲。 –

回答

1

我不得不降級我使用的MySQL .NET Connector版本(最新版本:6.9.7,退回到6.5.7)。我意識到這違背了「修復你的數據庫服務器」的常識,但它是內部的,並且有太多的資源使用它來權衡設置old_passwords=0並重置所有(已知)密碼以更新其哈希值的風險找出我們在某處已經打破了某些埋藏工具)