(在一片CV里找答案)java.sql.SQLException: The user specified as a definer (‘root‘@‘%‘) does not exist

⬇=================上解决问题的方法吧=================⬇

数据库版本8.0.25 其他版本我不清楚

1.用可视化工具连上数据库

2.找到系统的MYSQL架构(mysql)

3.然后打开用户表(mysql.user)

4.在里面找到@后的内容对应的那条修改里面的权限

(开始我并不清楚%这个host是怎么来的可能是我当时在找答案时运行了添加用户的SQL)

 (原本的host是%的那行是全N的这个改好之后的)

5.权限怎么改看着来 我是直接复制root的那一条直接刷一遍在上面的

感谢同事给我点了一下问题原因

⬇=================找问题的经过=================⬇

在网上找了一堆答案,全是从重复的

说着用下面这样的 但是结果呢sql语法报错 位置在 by '.'

MySQL 8.0已经不支持下面这种命令写法
grant all privileges on *.* to root@"%" identified by ".";

看他们然后是执行刷新权限的指令

语句如果用了双引号IDEA内置的数据库插件会直接显示语句错误不知道他们跑的时候怎么写的

上面说的点那个'.'里面其实填的是password 别被弄蒙了别人写点你也写点

(其实我也没试过这个到底是不是password我也不清楚 不过有些上面是这么写的 如果有人测试可以可以在评论里回复一下 有其他解决方法的也可以说明一下 备注上数据库版本和其他环境信息)

还有的装高手要用黑窗口感觉人类文明倒退了几百年都可视化工具不用(郑重吐槽)

图我就不放了 他的解决方法和上面的那个语句基本上没什么区别

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值