Connection open error . Authentication to host xxx' for user 'aa' using method 'mysql_native_password' failed with message: Access denied for user 'aaa' (using password: NO)


一,在netcore中,我們使用容器講上下文保持全局唯一的時候,異步大並發查mysql,就會導致報以上的異常,這個是什么原因導致的呢?

二,我們去調試下,在數據庫連接執行Open前,我們是有pwd這個屬性的

 

 在我們執行open后發現,連接的pwd屬性去掉了

 

 

 三,由上所得,由於注入容器一樣,然而配置的pwd沒了,再次用這個連接字符串去open,就會報錯沒有密碼的錯using password: NO

四,這個時候有怎么辦呢?如下配置

"ConString": "Server=xxx;Port=61010;Database=xx;Uid=xx;Pwd=xxx;CharSet=utf8mb4;;Persist Security Info=True;",

在配置添加Persist Security Info=True;這個屬性

四,這個是什么意思呢?

1》將Persist Security Info設置為true或yes將允許在打開連接后從連接獲取安全敏感信息,包括用戶標識和密碼。
2》如果您在建立連接時提供了用戶標識和密碼,那么當這些信息被用於打開連接並被丟棄時,您將得到最大程度的保護。
3》有助於提供更高安全性的選項是將Persist security Info設置為false。

所以加上這個后,用戶密碼會一直保持在連接上,而並不是執行open方法后密碼就不存在了

 


免責聲明!

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



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