MySql 数据库 SQLException: The user specified as a definer ('root'@'%') does not exist 和
java.sql.SQLException: Access denied for user 'root'@'****' (using password: YES)
错误原因及解决办法
1、如果已经通过Navicat[数据库管理工具]连接上了数据库,执行下面内容:
grant all privileges on *.* to root@'%' identified by '******' //***表示数据库连接密码
2、如果Navicat数据库连接不上数据库了,使用控制台修改MySQL权限
(1).首先使用dos命令进入mysql安装目录bin目录下
(2).在DOS命令窗口输入 mysql -hlocalhost -uroot -p回车 进入mysql数据库,
其中-h表示服务器名,localhost表示本地;
-u为数据库用户名,root是mysql默认用户名;
-p为密码,如果设置了密码,可直接在-p后链接输入,如:-p123456,用户没有设置密码,显示Enter password时,直接回车即可。如有密码输入密码后回车
(3).执行命令 : grant all privileges on *.* to root@'%' identified by '******' //***表示数据库连接密码
出现 Query OK, 0 rows affected (0.00 sec)即可