无法访问声呐MySQL数据库造成的:值java.sql.SQLException:拒绝访问用户sonar'@'glassfishdev.ccs.local'(使用密码:YES) [英] Unable to access Sonar MySQL database Caused by: java.sql.SQLException: Access denied for user 'sonar'@'glassfishdev.ccs.local' (using password: YES)

查看:613
本文介绍了无法访问声呐MySQL数据库造成的:值java.sql.SQLException:拒绝访问用户sonar'@'glassfishdev.ccs.local'(使用密码:YES)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想声纳添加到我的持续集成构建系统。我使用ANT作为我的生成脚本,我现在用的声纳蚂蚁任务-1.1.jar声纳生成根据SVN我的源$ C ​​$ C的报告。

问题
当构建运行并点击了声纳蚂蚁任务,我得到异常如下:

 产生的原因:java.sql.SQLException中:拒绝访问用户sonar'@'glassfishdev.ccs.local'(使用密码:YES)
在com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1075)
在com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3566)
在com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3498)
在com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:919)
在com.mysql.jdbc.MysqlIO.secureAuth411(MysqlIO.java:4004)
在com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1284)
在com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2312)
在com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2122)
在com.mysql.jdbc.ConnectionImpl<&初始化GT;(ConnectionImpl.java:774)
在com.mysql.jdbc.JDBC4Connection<&初始化GT;(JDBC4Connection.java:49)
在sun.reflect.NativeConstructorAccessorImpl.newInstance0(本机方法)
在sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
在sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
在java.lang.reflect.Constructor.newInstance(Constructor.java:513)
在com.mysql.jdbc.Util.handleNewInstance(Util.java:409)
在com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:375)
在com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:289)
在org.sonar.jpa.session.DriverProxy.connect(DriverDatabaseConnector.java:160)
在java.sql.DriverManager.getConnection(DriverManager.java:582)
在java.sql.DriverManager.getConnection(DriverManager.java:185)
在org.sonar.jpa.session.DriverDatabaseConnector.getConnection(DriverDatabaseConnector.java:95)
在org.sonar.jpa.session.AbstractDatabaseConnector.testConnection(AbstractDatabaseConnector.java:185)
... 40更多

我做了什么

1 安装的MySQL数据库。

2 通过使用声纳安装提供的脚本创建数据库声纳,声纳用户,并授予权限

  ** CREATE DATABASE声纳CHARACTER SET UTF8 COLLATE utf8_general_ci;
CREATE IDENTIFIED BY声纳用户声纳;
GRANT ALL ON声纳* TO'声纳'@'%'IDENTIFIED BY声纳。
。GRANT ALL ON声纳* TO'声纳'@'localhost'的IDENTIFIED BY声纳;
FLUSH PRIVILEGES; **

3 新增了的以下以我的构建脚本

4。添加在詹金斯自由式以下外部变量建设项目

<$p$p><$c$c>sonar.jdbc.url=jdbc:mysql://10.120.21.12:3306/sonar?useUni$c$c=true&characterEncoding=utf8
    sonar.jdbc.driverClassName = com.mysql.jdbc.Driver
    sonar.jdbc.username =声纳
    sonar.jdbc.password =声纳
    sonar.host.url = HTTP://10.120.21.12:9000 /

5。我还可以通过我SQL客户端工具连接到数据库,以验证该数据库,用户和权限声明正确执行。

然而,当詹金斯运行构建它似乎不知道如何连接到MySQL数据库。

有什么想法?


解决方案

解决方案是运行以​​下命令:

GRANT ALL ON * TO'声纳'@'%';

I am trying to add Sonar to my Continuous Integration build system. I am using ANT as my build script and I am using the sonar-ant-task-1.1.jar for sonar to generate the reports based on my source code in SVN.

Problem When the build runs and hits the sonar ant task I get the exception as follows:

Caused by: java.sql.SQLException: Access denied for user 'sonar'@'glassfishdev.ccs.local' (using password: YES)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1075)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3566)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3498)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:919)
at com.mysql.jdbc.MysqlIO.secureAuth411(MysqlIO.java:4004)
at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1284)
at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2312)
at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2122)
at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:774)
at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:49)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:409)
at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:375)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:289)
at org.sonar.jpa.session.DriverProxy.connect(DriverDatabaseConnector.java:160)
at java.sql.DriverManager.getConnection(DriverManager.java:582)
at java.sql.DriverManager.getConnection(DriverManager.java:185)
at org.sonar.jpa.session.DriverDatabaseConnector.getConnection(DriverDatabaseConnector.java:95)
at org.sonar.jpa.session.AbstractDatabaseConnector.testConnection(AbstractDatabaseConnector.java:185)
... 40 more

What I have done

1. Install MySQL database.

2. Create the sonar database, sonar user, and grant permissions by using the script provided in the sonar installation

**CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci;    
CREATE USER 'sonar' IDENTIFIED BY 'sonar';
GRANT ALL ON sonar.* TO 'sonar'@'%' IDENTIFIED BY 'sonar';
GRANT ALL ON sonar.* TO 'sonar'@'localhost' IDENTIFIED BY 'sonar';
FLUSH PRIVILEGES;**

3. Added the following to my build script

4. Added the following external variables in Jenkins Freestyle build project

sonar.jdbc.url=jdbc:mysql://10.120.21.12:3306/sonar?useUnicode=true&characterEncoding=utf8
    sonar.jdbc.driverClassName=com.mysql.jdbc.Driver
    sonar.jdbc.username=sonar
    sonar.jdbc.password=sonar
    sonar.host.url=http://10.120.21.12:9000/

5. I was also available to connect to the database through my sql client tool to verify that the database, user and permissions statements were executed correctly.

However when Jenkins runs the build it does not seem to know how to connect to the MySQL database.

Any thoughts?

解决方案

The solution was to run the following command:

GRANT ALL ON *.* TO 'sonar'@'%';

这篇关于无法访问声呐MySQL数据库造成的:值java.sql.SQLException:拒绝访问用户sonar'@'glassfishdev.ccs.local'(使用密码:YES)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆