为什么SonarQube分析仪无法与Mysql建立连接,权限问题?



MySQL版本:5.6.25(64位Linux)。Ant版本:1.9.5。声纳版本:5.1.1。当我运行ant脚本时,会遇到权限问题。比如:

org.sonar.runner.impl.RunnerException:无法执行sonar。。。。。由java.lang.IollegalStateException引起:无法连接到数据库。。。。…由org.apache.dbcp.SQLNestedException引起:无法创建PoolableConnectionFactory(用户'sonarqube'@'localhost'的访问被拒绝(使用密码:YES))

昨天下午,我花了很多时间在谷歌上搜索,试图以root身份登录MySQL,并为我的sonarqube用户等调用GRANT ALL,我完全不知道下一步该怎么做。我看到了这个帖子:http://sonarqube.15.x6.nabble.com/com-mysql-jdbc-Driver-is-not-found-td5012081.html,特别是这个位:

"Sonar使用其内置驱动程序,该驱动程序位于/home/jenkins/Sonar-3.5/extensions/jdbc-driver/mysql/文件mysql-connector-java-5.1.18.jar存在,可读,并包含driver.class文件。"

我在这个位置没有连接器jar文件(事实上,我在扩展目录中唯一的文件夹是"oracle")。我应该要一个吗?就sonarqube文档而言,我不必配置MySQL来使用其他地方的任何额外驱动程序。

非常感谢。如果需要,我可以粘贴Ant脚本的一部分,但这看起来更像是数据库权限问题。干杯Tom

配置MySQL,默认情况下只启用localhost连接。

GRANT ALL PRIVILEGES ON *.* TO 'user'@'YOUR_IP_ADDRESS'

第一件事。

您正在使用ANT触发SonarQube。有关更多详细信息,您可以在此处查看。

因此,根据错误日志,它似乎是您项目的权限问题。Sonar无法连接到您的数据库。

假设你的数据库是声纳

username = sonar
password = sonar

在这种情况下,您必须为数据库授予连接权限。为了提供特权,您必须运行以下命令。

GRANT ALL ON sonar.* TO 'sonar'@'localhost' IDENTIFIED BY 'sonar';
GRANT ALL ON sonar.* TO 'sonar'@'DOMAIN-NAME' IDENTIFIED BY 'sonar';
GRANT ALL ON sonar.* TO 'sonar'@'127.0.0.1' IDENTIFIED BY 'sonar';
GRANT ALL ON sonar.* TO 'sonar'@'CURRENT-IP-ADDRESS' IDENTIFIED BY 'sonar';

请在此处查看更多详细信息。

相关内容

  • 没有找到相关文章

最新更新