这个错误相信很多人都遇到过,一般我们想到的第一点就是没有授权,然后一条命令走起:

grant all on xxxx.* to 'root'@'%' identified by 'password' with grant option;

然后flush,接着继续执行了之前的操作,发现:Access denied for user 'root'@'%' to database 'xxx'
这时候有点懵懵的,也许你在执行了grant操作后不会遇到这个提示了,所以我今天说的这个问题并不是这个问题。我先还原一下问题场景。

问题场景

我们项目要上线二级测试环境了,所以新增了一个mysql用户AA,需要将数据库DB-A的操作权限分配给AA用户,然后用root用户执行了分配操作后,报错:Access denied for user 'root'@'%' to database 'AA'
这时候对root用户执行了grant all操作

然后继续对AA用户分配DB-A库的操作权限,然后依旧报错。
所以,并不是文章开头提到的问题,所以才想着现在回来记录一下。遇到一个坑,填一个坑~~

那么是什么导致这个问题出现的,明明root用户已经拥有了所有权限,为什么给某个用户分配一些权限的时候还是报错root没有权限,root都没权限…,root这个用户就像神一般的存在,没有它干不了的事,可是为什么依旧报错。
这个时候,想到去查看一下,mysql 的进程,以及mysql的root用户的相关进程,看下是什么情况。

解决

直接查看root用户的相关进程:

当然你也可以直接用Navicat管理工具直接查看


这个时候会发现,上面的进程列表中,有多个root的进程,并且host不同,这时候CTO在旁边说到,这么多进程有可能就是导致root分配权限失败的原因。
仔细想一下,刚开时候的时候对root用户执行了grant all操作,也进行了flush,但是这个时候注意,因为当时候我们有多个同事同时以root用户连接了MySQL,当前已经存在了多个不同host的root进程,所以在对root用户grant all操作刷新后,由于多个host的root用户连接,并不知道哪个root进程执行了grant all操作,所以在对AA用户分配库权限的时候报错root没有权限。
这个时候将所有的root相关进程都给结束掉:

SELECT concat('KILL ',id,';') FROM information_schema.processlist WHERE user='root';


Navicat管理工具直接手动删除也可以。
这时候再次将数据库DB-A的操作权限分配给AA用户,很好,一切正常。
以上的操作,熟悉Navicat的同学都可以直接使用管理工具界面华操作。
问题解决了,不过问题的原因只是我的想法,欢迎留言解惑。

MySQL使用root用户给某用户分配权限报错:Access denied for user 'root'@'%' to database 'xxx'相关推荐

  1. 运行JavaWeb项目报错Access denied for user ‘root‘@‘localhost‘ (using password: YES)

    运行JavaWeb项目报错Access denied for user 'root'@'localhost' (using password: YES)解决办法 项目场景: Eclipse导入Java ...

  2. 无法连接 服务器/虚拟机中的数据库,报错Access denied for user ‘root‘@‘192.168.1.101‘

    情境 在用 yml 配置 SpringBoot 连接虚拟机数据库时,不但连接不上.项目无法启动,报错还是本地连接失败. 报错 Access denied for user 'root'@'192.16 ...

  3. pyspark 使用jdbc 连接mysql 数据库报错 Access denied for user 'root'@'localhost'

    在使用jdbc开启pyspark shell 下载jar包:https://dev.mysql.com/downloads/connector/j/ tar -zxf mysql-connector- ...

  4. mysql5.7 no password_MySQL5.7.20报错Access denied for user 'root'@'localhost' (using password: NO)

    在centos6.8上源码安装了MySQL5.7.20,进入mysql的时候报错如下: 解决办法如下: 在mysql的配置文件内加入: vim  /etc/my.cnf skip-grant-tabl ...

  5. mysql登录报错“Access denied for user ‘root‘@‘localhost‘ (using password: YES”的处理方法

    解决:Access denied for user ''@'localhost' (using password: YES) - 程序员大本营 找了一晚上,但是不知道为什么使这样.

  6. MySQL------报错Access denied for user ‘root‘@‘localhost‘ (using password:NO)解决方法

    MySQL------报错Access denied for user 'root'@'localhost' (using password:NO)解决方法 参考文章: (1)MySQL------报 ...

  7. mysql连接报错Access denied for user ‘root‘@‘localhost‘

    某次安装了mysql执行mysql   -uroot -p123456报错:Access denied for user 'root'@'localhost' 方案: 用sudo执行命令:sudo m ...

  8. mac安装mysql mysql命令找不到_mysql报错Access denied for user #x27;root#x27;@#x27;localhost#x27;...

    mac下安装mysql 8.0.16,连接出现Access denied for user 'root'@'localhost' (using password: YES): 第一步:苹果->系 ...

  9. ubuntu18mysql登录_Ubuntu 18 mysql数据库登陆报错“Access denied for user”

    mysql数据登陆出现如下错误: #mysql -uroot error: 'Access denied for user 'root'@'localhost' (using password: NO ...

最新文章

  1. Android命令行工具logcat详细用法!
  2. python 元类工厂模式_Python进阶丨如何创建你的第一个Python元类?
  3. 创建租房网House脚本
  4. python mysql 错误处理_Python-MySQL中的错误处理
  5. 智慧交通day03-车道线检测实现05:透视变换+代码实现
  6. ajax onerror code,Ajax请求'onError'处理程序
  7. 2020年中国新世代用户视频消费行为洞察
  8. c#winform演练 ktv项目 实现播放完了一曲自动播放下一曲的功能
  9. 集中火力,专项击破!数据分析可视化广深线下培训火热来袭
  10. atitit.编程语言会形成进化树--哪些特性会繁荣??通才还是专才的选型 现代编程语言的特性总结
  11. matlab拟合出余弦曲线,如何用matlab做正弦曲线拟合?
  12. Dymola-多学科系统仿真工具
  13. 编译protoc方法名称被自动大写
  14. vs2012 wp8 应用调试时报错 指定的通信资源(端口) 已由另一个应用程序使
  15. gwt php,java – 启动GWT项目的PHP程序员的任何好技巧?
  16. 海图水深点的标注方法
  17. 如何从零开始系统学习量化交易-附资料
  18. mysql区分大小写嘛_Mysql区分大小写问题
  19. 关于散列表的大小设定
  20. 内网时间同步,ntp与ntpdate区别,与ntp服务器搭建

热门文章

  1. 网站采集程序编写技巧
  2. 结构光三维测量(数字光栅投影)
  3. java技术人员考核表 百度_java考核完的心得
  4. 【C语言】getchar()函数缓冲区
  5. 成都市城区土(石)方外运处置价格补贴意见 成建价[2013]04号
  6. 腾讯策略协作型 AI「绝悟」升级至王者荣耀电竞职业水平
  7. MATLAB 常见希腊字母表示
  8. 考研-数学-等差数列公式
  9. 重定向与请求转发的具体讲解
  10. 湫秋系列故事——安排座位