即使权限设置正确,groovy脚本中的JDBC也会被拒绝访问

时间:2015-05-29 13:17:58

标签: java mysql jdbc groovy

我编写了以下groovy脚本来连接到mysql数据库:

this.class.classLoader.rootLoader.addURL(new File("/root/mysql-connector-java-5.1.35.jar").toURL())

import groovy.sql.*

def username = 'root'
def password = 'password'
def database = 'database'
def server = 'localhost'

def db = Sql.newInstance("jdbc:mysql://$server/$database", "$username", "$password", 'com.mysql.jdbc.Driver')

当我像这样运行时:

groovy sqlcon.groovy

我收到以下错误:

  

Caught:java.sql.SQLException:用户'root'@'localhost'拒绝访问(使用密码:YES)           在query.run(query.groovy:10)

但我可以使用相同的凭据和

的输出在本地登录mysql数据库
SELECT Host, User FROM mysql.user;

看起来像这样:

+-----------+------------------+
| Host      | User             |
+-----------+------------------+
| 127.0.0.1 | root             |
| localhost | root             |
+-----------+------------------+

有谁知道可能导致此行为的原因是什么? 任何帮助将不胜感激:)

1 个答案:

答案 0 :(得分:0)

我不确定,但您可能需要为连接指定mysql端口。

试试这个:

def username = 'root'
def password = 'password'
def database = 'database'
def server = 'localhost:3306'

def db = Sql.newInstance("jdbc:mysql://$server/$database", "$username", "$password", 'com.mysql.jdbc.Driver')