2014-01-07 50 views
0

我也看了一下,發現很多錯誤的方式來完成類似:MySQL的使用舊驗證方法

connectionString = "Server=" + server + ";" + "Database=" + database + ";" + "Uid=" + uid + ";" + "Pwd=" + password + ";" + "useOldAuth=true;"; 

的通知「useOldAuth = TRUE;」這是我基本上想要做的。

我的問題是,我無法連接到我的數據庫,因爲「舊密碼不再支持身份驗證,請使用4.1樣式密碼。」問題。

我檢查了我的託管服務提供商,他們說他們不能/不會爲我改變他們的服務器,所以我需要找到一種使用舊認證的代碼連接方式。

我傾注了this,沒有發現任何有用的東西......我錯過了什麼?謝謝!

+6

爲什麼你需要舊的方法? – Mixthos

+0

哪個主機?看起來可能是hostgator?重複可能http://stackoverflow.com/questions/15772479/authentication-with-old-password-no-longer-supported-use-4-1-style-passwords –

+1

它實際上是IX,我知道這是一件可怕的事情專門編寫過時/不安全的技術,但我只是要求如何去做。至於重複,我確實看到了那個,但答案沒有應用/工作,也沒有人解決過他的問題......我的意思是我的問題大部分是相同的,但他從未解決也不是我的問題。 – yoyo

回答

0

我解決我的問題:

1)連接到MySQL的工作臺分貝(選擇「使用舊的身份驗證」和「明文送出妙傳」

2)使用的工作臺,我跑以下幾次(因爲它不停地說「0行受到影響」):(也更改用戶ID和密碼到您的正確的東西)

SET SESSION old_passwords=0; 
SET PASSWORD FOR userID=PASSWORD('password'); 

SET SESSION old_passwords=false; 
SET PASSWORD FOR userID=PASSWORD('password'); 

3)現在回到你的應用程序,它應該運行...

這就是我至少做到的。我使用IX mysql,他們在他們的服務器上使用舊認證,因此您必須在您的服務器上執行一些操作。

注意:如果有人知道如何完成我最初的要求,請告訴我。我仍然好奇是否有辦法將參數傳遞給「useLegacyAuth」之類的東西。謝謝。