在 sonarqube- SELECT 命令拒绝用户 'sonar_user'@'localhost' for table 'session_variables
in sonarqube- SELECT command denied to user 'sonar_user'@'localhost' for table 'session_variables
Caused by: org.apache.commons.dbcp.SQLNestedException: Cannot create
PoolableConnectionFactory (SELECT command denied to user
'sonar_user'@'localhost' for table 'session_variables')
at org.apache.commons.dbcp.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:1549)
~[commons-dbcp-1.4.jar:1.4]
at org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1388)
~[commons-dbcp-1.4.jar:1.4]
at org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:1044)
~[commons-dbcp-1.4.jar:1.4]
at org.sonar.core.persistence.DefaultDatabase.checkConnection(DefaultDatabase.java:113)
~[sonar-core-4.5.5.jar:na]
... 27 common frames omitted Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: SELECT
command denied to user 'sonar_user'@'localhost' for table
'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]
at com.mysql.jdbc.Util.handleNewInstance(Util.java:411) ~[mysql-connector-java-5.1.27.jar:na]
at com.mysql.jdbc.Util.getInstance(Util.java:386) ~[mysql-connector-java-5.1.27.jar:na]
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1054)
~[mysql-connector-java-5.1.27.jar:na]
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4237) ~[mysql-connector-java-5.1.27.jar:na]
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4169) ~[mysql-connector-java-5.1.27.jar:na]
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2617) ~[mysql-connector-java-5.1.27.jar:na]
您的 SonarQube 服务器连接到数据库的用户 ('sonar_user'@'localhost'
) 没有足够的权限(根据错误消息,它无法在数据库中发出 SELECT
命令)。
您需要在 MySQL 数据库中向该用户授予此权限(此处 helpful tutorial 介绍了如何实现)。
要访问 GLOBAL|SESSION VARIABLES,请尝试使用 MYSQL 中的命令:
$ GRANT ALL ON sonar.* TO 'sonar'@'%' IDENTIFIED BY 'sonar';
$ GRANT ALL ON sonar.* TO 'sonar'@'localhost' IDENTIFIED BY 'sonar';
如果它不起作用,那么您应该尝试(它只向 'sonar' 用户提供所有数据库的 SELECT 权限):
$ GRANT SELECT ON . TO 'sonar'@'%' IDENTIFIED BY 'sonar';
$ GRANT SELECT ON . TO 'sonar'@'localhost' IDENTIFIED BY 'sonar';
它为声纳用户提供访问所有数据库的权限 SELECT、INSERT、UPDATE、DELETE(数据库上所有可能的移动)。
$ GRANT ALL ON . TO 'sonar'@'%' IDENTIFIED BY 'sonar';
$ GRANT ALL ON . TO 'sonar'@'localhost' IDENTIFIED BY 'sonar';
Caused by: org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (SELECT command denied to user 'sonar_user'@'localhost' for table 'session_variables') at org.apache.commons.dbcp.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:1549) ~[commons-dbcp-1.4.jar:1.4] at org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1388) ~[commons-dbcp-1.4.jar:1.4] at org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:1044) ~[commons-dbcp-1.4.jar:1.4] at org.sonar.core.persistence.DefaultDatabase.checkConnection(DefaultDatabase.java:113) ~[sonar-core-4.5.5.jar:na] ... 27 common frames omitted Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: SELECT command denied to user 'sonar_user'@'localhost' for table '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] at com.mysql.jdbc.Util.handleNewInstance(Util.java:411) ~[mysql-connector-java-5.1.27.jar:na] at com.mysql.jdbc.Util.getInstance(Util.java:386) ~[mysql-connector-java-5.1.27.jar:na] at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1054) ~[mysql-connector-java-5.1.27.jar:na] at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4237) ~[mysql-connector-java-5.1.27.jar:na] at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4169) ~[mysql-connector-java-5.1.27.jar:na] at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2617) ~[mysql-connector-java-5.1.27.jar:na]
您的 SonarQube 服务器连接到数据库的用户 ('sonar_user'@'localhost'
) 没有足够的权限(根据错误消息,它无法在数据库中发出 SELECT
命令)。
您需要在 MySQL 数据库中向该用户授予此权限(此处 helpful tutorial 介绍了如何实现)。
要访问 GLOBAL|SESSION VARIABLES,请尝试使用 MYSQL 中的命令:
$ GRANT ALL ON sonar.* TO 'sonar'@'%' IDENTIFIED BY 'sonar';
$ GRANT ALL ON sonar.* TO 'sonar'@'localhost' IDENTIFIED BY 'sonar';
如果它不起作用,那么您应该尝试(它只向 'sonar' 用户提供所有数据库的 SELECT 权限):
$ GRANT SELECT ON . TO 'sonar'@'%' IDENTIFIED BY 'sonar';
$ GRANT SELECT ON . TO 'sonar'@'localhost' IDENTIFIED BY 'sonar';
它为声纳用户提供访问所有数据库的权限 SELECT、INSERT、UPDATE、DELETE(数据库上所有可能的移动)。
$ GRANT ALL ON . TO 'sonar'@'%' IDENTIFIED BY 'sonar';
$ GRANT ALL ON . TO 'sonar'@'localhost' IDENTIFIED BY 'sonar';