mysql root 用户 grant 报错

一台mysql数据,使用root用户登录,-h指定的127.0.0.1,执行grant操作时报错:
ERROR 1045 (28000): Access denied for user ‘root’@’localhost’ (using password: YES)

检查root用户权限,已经有了super和grant权限了:

mysql> SELECT host,user,password,Grant_priv,Super_priv FROM mysql.user where user = 'root' \G;
*************************** 1. row ***************************
      host: 127.0.0.1
      user: root
  password: *66EF9***************************
Grant_priv: Y
Super_priv: Y
*************************** 2. row ***************************
      host: localhost
      user: root
  password: *66EF9***************************
Grant_priv: Y
Super_priv: Y

找了半天原因,排除了本机host,连接方式以及user表中host列为%的干扰,始终无法授权新用户,见了鬼了。
后来有说是因为数据库升级导致的,但是这个mysql并没有升级,版本一直为5.5
最后还是按照升级后出现无法grant的解决办法,执行了如下操作:

# mysql_upgrade -h127.0.0.1 -uroot -p'mypasswd'
Looking for 'mysql' as: mysql
Looking for 'mysqlcheck' as: mysqlcheck
mysql.Ghost                                        OK
mysql.columns_priv                                 OK
mysql.db                                           OK
mysql.ertyui                                       OK
mysql.event                                        OK
mysql.func                                         OK
mysql.general_log                                  OK
mysql.help_category                                OK
mysql.help_keyword                                 OK
mysql.help_relation                                OK
mysql.help_topic                                   OK
mysql.host                                         OK
mysql.myhexc                                       OK
mysql.ndb_binlog_index                             OK
mysql.plugin                                       OK
mysql.proc                                         OK
mysql.procs_priv                                   OK
mysql.proxies_priv                                 OK
mysql.servers                                      OK
mysql.slow_log                                     OK
mysql.tables_priv                                  OK
mysql.tempEx                                       OK
mysql.tempExT                                      OK
mysql.tempExT1                                     OK
mysql.tempMix1                                     OK
mysql.time_zone                                    OK
OK
。。。

现在再执行grant操作,发现可以了,特此记录一下。

u2

Related Posts

mysql连接失败:The driver has not received any packets from the server

解决java spring连接mysql报错问题,增加连接串参数

Read more

python cx-Oracle 驱动安装

安装oracle驱动 cx-Oracle驱动二进制版本下载地…

Read more

You Missed

OpenAI Jalapeño 芯片实测出炉:700W 推理芯片如何颠覆云基础设施成本结构

  • u2
  • 8月 27, 2026
  • 15 views

DeepSeek双线出击:视觉模型睁开眼,Harness套上缰绳

  • u2
  • 8月 25, 2026
  • 39 views

微软Copilot “CoSnitch”漏洞深度解析:当AI助手成为自己的”告密者”

  • u2
  • 8月 24, 2026
  • 42 views

OpenAI 干了一件成立以来从没干过的事:主动踩刹车

  • u2
  • 8月 21, 2026
  • 68 views

OpenAI Astra十题拆解:2000美元,十个数学难题,一次破壁

  • u2
  • 8月 3, 2026
  • 163 views

便宜电视盒子背后的广告欺诈帝 国

  • u2
  • 7月 31, 2026
  • 143 views