今天在项目测试的时候发现控制台报错,Caused by: java.sql.SQLException: The user specified as a definer ('root'@'%') does not exist,
如下图所示
后来在网上找了解决方法,这个问题是因为用户权限不够,在mysql命令行中配置一下就可以解决
第一步:win + R 输入cmd 调出命令行
第二步:输入mysql -u root -p
然后输入自己的mysql密码回车
第三步:输入
grant all privileges on *.* to root@"%" identified by ".";
后回车,显示OK即可解决该问题(只适用于mysql8.0之前的版本)
如果你的mysql是8.0及之后的版本,则需要在登录了mysql后输入下面的命令:
create user root@'%' identified by '123456';grant all privileges on *.* to root@'%' with grant option;
回车后显示OK即可解决,我mysql版本为8.0.31,用第二种方式才解决,如下图:
来源地址:https://blog.csdn.net/qq_49306973/article/details/128397704