zoukankan      html  css  js  c++  java
  • 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方法后密码就不存在了

  • 相关阅读:
    .net对象生命周期 一) 转载
    HTTP的版本 转载
    sql server sql语句判断是否有表备注并进行新增或修改
    sql server update触发器
    vs文件属性复制到输出目录 转载
    c#使用log4net记录日志 转载
    windows服务定时器 转载
    vs创建项目以后修改https为http
    消息队列 转载
    nmp 设置淘宝镜像
  • 原文地址:https://www.cnblogs.com/May-day/p/13497933.html
Copyright © 2011-2022 走看看