我的情况是:
mysql 5.7+_jdbc 5.1, 使用root访问一个新建的database(名叫 test)里的表stu
java 连接mysql 报错;反复查看jdbc 的url 没有错;
网上试了很多方法,
1.比如url 后面加 AutoRec 参数
2. 修改my.cof mysql 的配置文件,添加 wait timeout
都不行。
解决;
给用户普通的dba 权限;
mysql> GRANT ALL PRIVILEGES ON test.* to root@'%' ;
并且我的url 中使用的是hostname;
.option("url","jdbc:mysql://t1.dev.com:3306/test")
获取给普通的select 权限也许也可以。没事
所以总结: 查看是否给访问用户权限。
在使用MySQL 5.7+和jdbc 5.1时,遇到通过root用户访问新数据库test的表stu时的权限问题。尝试了修改URL参数和my.cnf配置文件未果。最终解决方案是为用户root授予test数据库的全部权限,使用GRANT ALL PRIVILEGES ON test.* TO root@'%';。此外,只赋予SELECT权限也可能可行。关键在于检查并确保访问用户的权限设置正确。





