【问题背景】用root用户创建用户的时候,报错ERROR 1044 (42000)

mysql> grant  select on  *.* to rep@'%' identified by '123';
ERROR 1045 (28000): Access denied for user 'root'@'%' (using password: YES)

以下是整个问题的分析和解决过程:

【1】确定当前的登录用户,避免出现当前登录的用户(http://blog.itpub.net/12679300/viewspace-1453490/)

mysql> select current_user();
+----------------+
| current_user() |
+----------------+
| root@%         |
+----------------+
1 row in set (0.00 sec)

说明:当前用户没有问题;

【2】查看当前用户的权限:show grants for root@'%' ;

mysql> show grants for root@'%' ;

+---------------------------------------------------------------------------------------------------------------------------------------------------------+
|  Grants for root@%                                                                                                                          |
+---------------------------------------------------------------------------------------------------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY PASSWORD '*228E49B99A5F24B7CDA2CC2A9F4A70635708E6CC' |
+----------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

说明:当前用户具有所有的权限;

【3】查看用户的授权权限

mysql> SELECT host,user,password,Grant_priv,Super_priv FROM  mysql.user;

说明:当前用户'root'@'%' Grant_priv的权限状态为"N",说明当前用户没有权限授权;

【4】解决方法:UPDATE mysql.user SET Grant_priv='Y'  WHERE User='root';

mysql>  SELECT host,user,password,Grant_priv,Super_priv FROM mysql.user;;

mysql> UPDATE mysql.user SET Grant_priv='Y'  WHERE User='root';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql> FLUSH PRIVILEGES;

Query OK, 0 rows affected (0.00 sec)

mysql>  select GRANTEE, PRIVILEGE_TYPE, IS_GRANTABLE from information_schema.user_privileges;

【5】现在可以进行用户的创建和授权了

mysql> grant  select on  *.* to rep@'%' identified by '123';
Query OK, 0 rows affected (0.00 sec)

【总结】其实整个过程就是MySQL的权限问题,当前用户具有Super_priv的权限,但是并没有Grant_priv的权限,所以导致root@‘%’用户在进行授权的时候报错了;

MySQL的权限控制是一个很有趣的问题,后续有时间的话,再整理和大家分享。

........................................................................................................................................................................

本文作者:JOHN,某上市公司DBA,业余时间专注于数据库的技术管理,从管理的角度去运用技术。

ORACLE技术博客:猎人笔记               数据库技术群:367875324 (请备注数据库类型)

........................................................................................................................................................................

ERROR 1044 (42000)报错的解决相关推荐

  1. [ioredis] Unhandled error event: Error: connect ETIMEDOUT报错的解决办法

    之前项目中redis初始化是使用@Init 装饰器来处理,近期配置中心上线后,配置将统一到配置中心获取. @Init 就不能再使用了,因为其先于远程配置获取,redis初始化要改为远程配置获取完成后才 ...

  2. ArcGis engine开发中,FlexNet Licensing error:-42,147报错的解决办法,亲测有用!

    在AE开发(环境为VS2012+AE10.2)中,碰到一个很奇怪的问题,只要一打开VS,就报错弹出以下的错误信息界面,这个问题困扰了非常久,期间试过很多方法,很多人说删除所有控件,重新添加,然而过不了 ...

  3. 解决忘记密码报错ERROR 1044 (42000): Access denied for user ‘‘@‘localhost‘ to database ‘mysql‘的办法

    由于长时间没用登录mysql忘记密码报错,ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'mysql',导 ...

  4. 解决mysql报错ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'mysql'

    问题:登录mysql后使用正常sql命令时报错 ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'mysql ...

  5. MySQL报错ERROR 1044 (42000)

    文章目录 1. 报错 2. 排查 3. 解决 1. 报错 进入mysql,执行针对库授予对应用户权限,报错: ERROR 1044 (42000): Access denied for user 'r ...

  6. error 1044 (42000):access denied for user ''@'localhost' to database 'mysql' 解决方法

    重新安装mariaDB数据库时,出现安装权限问题,中止安装发现居然能够登陆mysql,但是登陆时可以不填密码,操作数据库时会报错:ERROR 1044 (42000): Access denied f ...

  7. mysql 1044 42000_解决WDCP面板导入数据库出现ERROR 1044 (42000)错误问题

    前天晚上(双11前夕),一个老客户好像火上房一样微信.QQ.电话拼命的联系救急,原来是应付晚上即将到来的双十一订单量需要将服务器迁移到一台高配服务器.老蒋开始就搞不懂了,为何不直接将服务器升级,原来也 ...

  8. 解决ERROR 1044 (42000): Access denied for user ‘‘@‘localhost‘ to database ‘database‘

    当你在Linux中使用常规命令 mysql -u root123456 能够进去,但是却无法创建数据库时,还报错误 ERROR 1044 (42000): Access denied for user ...

  9. 解决ERROR 1044 (42000): Access denied for user

    解决ERROR 1044 (42000): Access denied for user 2015年12月04日 16:54:06 阅读数:8159 ERROR 1044 (42000): Acces ...

最新文章

  1. RzPageControl 关闭按钮
  2. 仅通过SQL备份文件将MOSS服务器场及所有网站数据迁移到新的一台服务器上
  3. 美版iphone更新系统无服务器,大量美版iPhone“伪装”成国行出现在各大平台,遇到一定不要买...
  4. matlabsimulink仿真天体运行轨迹
  5. 【数据结构-树】1.树与森林(树的遍历、树的存储方法、并查集的实现)
  6. Android Animation学习(六) View Animation介绍
  7. 交叉编译android版htop
  8. 资深程序员的笔记:工作多年对于编程语言的理解,新手建议了解!
  9. Python求解进制问题(阿里巴巴2015笔试题)
  10. 关于创建 LINQ to SQL 类时无法转换复数的问题(zhuan)
  11. 定位需求 整理思路 组装函数
  12. 6.12使用tensorflow来搭建一个Transformer
  13. MySQL之四种SQL性能分析工具
  14. (2) 怎么学习IFC (Industry Foundation Class)
  15. matlab 三维点 边界曲面,【matlab三维散点绘制曲面】
  16. 色彩构成与搭配——人对色彩的感觉
  17. 互联网技术常见简称公式总结:CPA、CPC、CPM、CVR、CTR、PV、UV、GMV定义以及相关计算公式
  18. 走进少儿编程教育的基础性原理
  19. 读论文《Multi-Behavior Hypergraph-Enhanced Transformer for Sequential Recommendation》
  20. 【Gamma】Scrum Meeting 1 与助教谈话

热门文章

  1. 2021年《环球科学》十大科学新闻:“天宫”空间站、火星探索位列前二
  2. 黑客把你家网线作“天线”,读取电磁信号就能偷走数据
  3. 只需1秒,无人机就能平地翻跟头 | IEEE
  4. 3D打印火箭发动机真被做出来了!首次地面全周期点火实测,发射报价不到猎鹰9的五分之一...
  5. Go语言11岁了,网友:他喵的,终于确定出「泛型」了
  6. 有人要在「动物森友会」上开AI学术会议,我看你们就是在家想玩游戏吧
  7. 官方资源帖!手把手教你在TensorFlow 2.0中实现CycleGAN,推特上百赞
  8. 利用nRF Sniffer对蓝牙BLE通信数据进行嗅探和分析
  9. 最新 Windows 7 7100安装
  10. 【Linux使用技巧】linux 死机了怎么办