C# mysql 鏈接 遇到 異常 Authentication with old password no longer supported, use 4.1 style passwords.


用最新版的 mysql connector 去鏈接 遠程的mysql服務器.  

遇到 異常 Authentication with old password no longer supported, use 4.1 style passwords.

上網搜, 官方說是服務器的密碼版本新,  客戶端的版本太低, 連不上. 要更新我的客戶端.   但是我的connector 是剛從官方下載的最新的啊. 這不科學啊.

還有人說是去服務器上服務器上的密碼存儲方式 改成舊版本,這樣就可以了.  但是服務器不是我的,  我沒有權限去改服務器的配置.

 

最后發現 一個帖子http://stackoverflow.com/questions/13706463/authentication-method-mysql-old-password-not-supported

里面說 MysqL Connector/NET 6.6.x (as of 6.6.2) dropped support for old password style authentication (it was deprecated due to being insecure and there were documented ways to attack it).

其實就是說 .net的connector 已經拋棄了舊的密碼方式, 只支持新的密碼方式.   突然明白了.   應該是客戶端的密碼認證方式太新, 而服務器的密碼是舊的方式存儲的. 

所以就要去把服務器的密碼存儲方式改成新的.  怎么改呢. 找到這個地址  http://writecodepeople.blogspot.com/2013/03/mysql-41-style-password.html

在服務器端只提供了phpmyadmin, 沒有console啊.   我記得有個地方可以執行sql語句

於是去服務器上打開phpmyadmin.  打開數據庫.  打開Sql tab, 這里可以執行 sql語句.哈哈

執行這兩句:

SET old_passwords=FALSE;

SET PASSWORD = PASSWORD('重設密碼');

之后, 在用c# connector 去連.  成功.

reffer: http://byNeil.com


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM