四川快乐12官网:ERROR 1044 (42000) : Access denied for user ‘root’@'localhost’

从供应商那边接手一个MySQL数据库(数据库版本为5.7.21 MySQL Community Server (GPL)),在创建账号时遇到了“ERROR 1044 (42000): Access denied for user ‘root’@'localhost’ to database xxx”错误,如下所示

mysql> grant all on xxx.* to [email protected]'192.168.%' identified by 'xxx';
ERROR 1044 (42000): Access denied for user 'root'@'localhost' to database 'xxxx'
mysql>

照理说,root用户应该有任何权限,那么为什么出现这个错误呢? 查看当前用户为[email protected],顺便查看了一下各个root账号的权限。如下所示:

mysql> select current_user() from dual;
+----------------+
| current_user() |
+----------------+
| [email protected] |
+----------------+
1 row in set (0.00 sec
 
mysql> select host,user from user where user='root';
+-----------+----------+
| host      | user     |
+-----------+----------+
| %         | root     |
| 127.0.0.1 | root     |
| ::1       | root     |
| localhost | root     |
+-----------+----------+
7 rows in set (0.00 sec)
 
mysql>  show grants for [email protected]'localhost';
+--------------------------------------------------------------+
| Grants for [email protected]                                    |
+--------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost'            |
| GRANT PROXY ON ''@'' TO 'root'@'localhost' WITH GRANT OPTION |
+--------------------------------------------------------------+
2 rows in set (0.00 sec)
 
mysql> show grants for [email protected]'127.0.0.1';
+---------------------------------------------------------------------+
| Grants for [email protected]                                           |
+---------------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'root'@'127.0.0.1' WITH GRANT OPTION |
+---------------------------------------------------------------------+
1 row in set (0.00 sec)
 
mysql> show grants for [email protected]'%';
+-------------------------------------------+
| Grants for [email protected]%                         |
+-------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' |
+-------------------------------------------+
1 row in set (0.00 sec)

如上所示,[email protected]账号没有WITH GRANT OPTION选项,关于WITH GRANT OPTION选项,如果想让授权的用户,也可以将这些权限授予给其他用户,需要选项 “WITH GRANT OPTION“ 。也就是说有这个选项就可以将权限传递给第三方。这也是上面[email protected]用户给其它用后授权报错的原因,如果以 [email protected]登录(此账号拥有WITHGRANT OPTION选项),创建用户并授权就不会有这个错误,如下所示:

# mysql -host 127.0.0.1 -u root -p
Enter password: 
 
mysql>  grant all on xxx.* to [email protected]'192.168.%' identified by 'test1249';
Query OK, 0 rows affected, 1 warning (0.00 sec)
 
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

当然还有其它方面的原因也可能会引起这个错误,不过在这个案例当中,确实仅仅是因为上面原因引起。特此记录一下这个案例@!



相关文章

发表评论

Comment form

(*) 表示必填项

还没有评论。

四川快乐12
返回顶部
  • 送你一份时代天街附近必吃的火锅名单 2018-12-11
  • 施艾珠:统战工作更有底气和定力了 2018-12-09
  • 山东搭建“灯塔—党建在线”网络平台 2018-12-06
  • 端午假期扫尾 粽子价格大跳水 2018-12-04
  • 比亚迪秦EV450 稳居北京市占率第一 2018-12-03
  • 第二届未来汽车大会暨日照新能源汽车人才与产业峰会在日照举办 2018-12-03
  • 运城市两部微电影喜获全国奖 2018-11-28
  • [微笑]所谓的卖地,表面上卖的是土地,实际上卖的是关联资源!这就是为什么同样面积的土地处于不同的城市不同的地段,价值可以有云泥之别的原因。 2018-11-28
  • 【大考2018】2018高考首日众生相(组图) 2018-11-21
  • 昌吉州:让绿色成为生态底色发展主色 2018-11-21
  • 河北遵化清东陵打响景区环境提升攻坚战 2018-11-18
  • 河北馆陶:端午节火了“艾旅游” 2018-11-18
  • 媒体人:姚文智“起风了” 民进党雪崩式危机开始了 2018-11-17
  • 变相“现金贷”重出江湖 利率畸高个别超过1000% 2018-11-17
  • 马英九出席佛教祈福活动用喇叭高喊:“两岸和平 台湾繁荣” 2018-11-16
  • 750| 852| 971| 117| 13| 591| 692| 159| 187| 647|