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

  • 相关阅读:
    Python之实现一个优先级队列
    java可变参数列表的实现
    static 关键字详解 static方法调用非static属性和方法
    this关键字详解
    vue自定义事件 子组件把数据传出去
    vue组件 Prop传递数据
    Vue 什么是组件
    vue v-model 表单控件绑定
    vue v-on监听事件
    vue v-if with v-for
  • 原文地址:https://www.cnblogs.com/May-day/p/13497933.html
Copyright © 2011-2022 走看看