在sonarqube- SELECT命令被拒绝给用户' sonar_user' @' localhost' for table' session_variables

时间:2015-12-17 11:38:06

标签: sonarqube sonarqube-5.0 sonarqube-4.5

  

引起:org.apache.commons.dbcp.SQLNestedException:无法创建   PoolableConnectionFactory(拒绝用户的SELECT命令   ' sonar_user' @'本地主机'对于表&session;变量')           在org.apache.commons.dbcp.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:1549)   〜[公地DBCP-1.4.jar:1.4]           在org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1388)   〜[公地DBCP-1.4.jar:1.4]           在org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:1044)   〜[公地DBCP-1.4.jar:1.4]           在org.sonar.core.persistence.DefaultDatabase.checkConnection(DefaultDatabase.java:113)   〜[声纳核-4.5.5.jar:NA]           ...省略了27个常见帧引起:com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:SELECT   命令被拒绝用户' sonar_user' @' localhost'对于表   ' session_variables'           at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)   〜[NA:1.8.0_60]           at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)   〜[NA:1.8.0_60]           at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)   〜[NA:1.8.0_60]           at java.lang.reflect.Constructor.newInstance(Constructor.java:422)   〜[NA:1.8.0_60]           在com.mysql.jdbc.Util.handleNewInstance(Util.java:411)〜[mysql-connector-java-5.1.27.jar:na]           在com.mysql.jdbc.Util.getInstance(Util.java:386)〜[mysql-connector-java-5.1.27.jar:na]           在com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1054)   〜[MySQL的连接器的Java-5.1.27.jar:NA]           在com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4237)〜[mysql-connector-java-5.1.27.jar:na]           在com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4169)〜[mysql-connector-java-5.1.27.jar:na]           在com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2617)〜[mysql-connector-java-5.1.27.jar:na]

2 个答案:

答案 0 :(得分:4)

您的SonarQube服务器通过没有足够权限的用户('sonar_user'@'localhost')连接到数据库(根据错误消息,它不能在数据库中发出SELECT个命令。)

您需要在MySQL DB中向此用户授予此权限(此处为helpful tutorial如何实现此目的)。

答案 1 :(得分:0)

要访问GLOBAL | SESSION VARIABLES,请尝试使用MYSQL中的命令:

$全部收听声纳。*播放声音' @'%'由声纳';

识别

$全部收听声纳。*播放声音' @' localhost'由声纳';

识别

如果它不起作用,那么你应该尝试(它只为所有DATABASES的#son;'用户提供SELECT权限):

$ GRANT SELECT ON TO' sonar' @'%'由声纳';

识别

$ GRANT SELECT ON TO' sonar' @' localhost'由声纳';

识别

它为声纳用户提供访问所有数据库的权限,具有SELECT,INSERT,UPDATE,DELETE(DB上所有可能的移动)的所有权限。

$ GRANT ALL ON to' sonar' @'%'由声纳';

识别

$ GRANT ALL ON to' sonar' @' localhost'由声纳';

识别