MySQL使用root用户给某用户分配权限报错:Access denied for user 'root'@'%' to database 'xxx'
这个错误相信很多人都遇到过,一般我们想到的第一点就是没有授权,然后一条命令走起:
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'相关推荐
- 运行JavaWeb项目报错Access denied for user ‘root‘@‘localhost‘ (using password: YES)
运行JavaWeb项目报错Access denied for user 'root'@'localhost' (using password: YES)解决办法 项目场景: Eclipse导入Java ...
- 无法连接 服务器/虚拟机中的数据库,报错Access denied for user ‘root‘@‘192.168.1.101‘
情境 在用 yml 配置 SpringBoot 连接虚拟机数据库时,不但连接不上.项目无法启动,报错还是本地连接失败. 报错 Access denied for user 'root'@'192.16 ...
- pyspark 使用jdbc 连接mysql 数据库报错 Access denied for user 'root'@'localhost'
在使用jdbc开启pyspark shell 下载jar包:https://dev.mysql.com/downloads/connector/j/ tar -zxf mysql-connector- ...
- 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 ...
- mysql登录报错“Access denied for user ‘root‘@‘localhost‘ (using password: YES”的处理方法
解决:Access denied for user ''@'localhost' (using password: YES) - 程序员大本营 找了一晚上,但是不知道为什么使这样.
- MySQL------报错Access denied for user ‘root‘@‘localhost‘ (using password:NO)解决方法
MySQL------报错Access denied for user 'root'@'localhost' (using password:NO)解决方法 参考文章: (1)MySQL------报 ...
- mysql连接报错Access denied for user ‘root‘@‘localhost‘
某次安装了mysql执行mysql -uroot -p123456报错:Access denied for user 'root'@'localhost' 方案: 用sudo执行命令:sudo m ...
- 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): 第一步:苹果->系 ...
- ubuntu18mysql登录_Ubuntu 18 mysql数据库登陆报错“Access denied for user”
mysql数据登陆出现如下错误: #mysql -uroot error: 'Access denied for user 'root'@'localhost' (using password: NO ...
最新文章
- Android命令行工具logcat详细用法!
- python 元类工厂模式_Python进阶丨如何创建你的第一个Python元类?
- 创建租房网House脚本
- python mysql 错误处理_Python-MySQL中的错误处理
- 智慧交通day03-车道线检测实现05:透视变换+代码实现
- ajax onerror code,Ajax请求'onError'处理程序
- 2020年中国新世代用户视频消费行为洞察
- c#winform演练 ktv项目 实现播放完了一曲自动播放下一曲的功能
- 集中火力,专项击破!数据分析可视化广深线下培训火热来袭
- atitit.编程语言会形成进化树--哪些特性会繁荣??通才还是专才的选型 现代编程语言的特性总结
- matlab拟合出余弦曲线,如何用matlab做正弦曲线拟合?
- Dymola-多学科系统仿真工具
- 编译protoc方法名称被自动大写
- vs2012 wp8 应用调试时报错 指定的通信资源(端口) 已由另一个应用程序使
- gwt php,java – 启动GWT项目的PHP程序员的任何好技巧?
- 海图水深点的标注方法
- 如何从零开始系统学习量化交易-附资料
- mysql区分大小写嘛_Mysql区分大小写问题
- 关于散列表的大小设定
- 内网时间同步,ntp与ntpdate区别,与ntp服务器搭建