这个错误 java.sql.SQLSyntaxErrorException: Access denied for user 'jnycrm'@'%' to database 'jeecg-boot'
表示MySQL服务器拒绝了用户 'jnycrm'
从任何主机('%'' 表示任意主机)访问数据库 'jeecg-boot'
。
以下是一些可能的解决方法:
-
检查用户名和密码:确保你在应用程序中使用的用户名和密码与MySQL服务器上为用户
'XXX'
设置的用户名和密码匹配。 -
检查数据库权限:在MySQL服务器上,你需要为用户
'XXX'
授予访问'jeecg-boot'
数据库的权限。你可以使用以下命令来授予所有权限:GRANT ALL PRIVILEGES ON jeecg-boot.* TO 'XXX'@'%'; FLUSH PRIVILEGES;
这将为用户
'jnycrm'
从任何主机%
授予'jeecg-boot'
数据库的所有权限。请根据你的需求调整权限级别。 -
限制访问主机:如果你不希望用户
'XXX'
从任意主机访问,你可以将 '%' 替换为特定的IP地址或主机名。例如,允许从本地主机访问GRANT ALL PRIVILEGES ON jeecg-boot.* TO 'XXX'@'localhost'; FLUSH PRIVILEGES;
-
确认MySQL配置:确保MySQL服务器的配置文件(如my.cnf或my.ini)没有禁止用户
'XXX'
从指定主机访问。 -
重新启动MySQL服务:在进行上述更改后,可能需要重启MySQL服务以确保更改生效。