• 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方法后密码就不存在了

  • 相关阅读:
    25:最长最短单词
    09:向量点积计算
    08:石头剪刀布
    07:有趣的跳跃
    36:计算多项式的值
    33:计算分数加减表达式的值
    hdu 2289 Cup (二分法)
    Android-补间动画效果
    UVA 586 Instant Complexity
    企业门户(Portal)项目实施方略与开发指南
  • 原文地址:https://www.cnblogs.com/May-day/p/13497933.html
Copyright © 2020-2023  润新知