2015-05-29 33 views
-1

我寫了下面的Groovy腳本連接到MySQL數據庫:JDBC在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: Access denied for user 'root'@'localhost' (using password: YES) at query.run(query.groovy:10)

但我可以在本地使用日登錄到MySQL數據庫Ë相同的憑據,並從

SELECT Host, User FROM mysql.user; 

輸出看起來是這樣的:

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

有沒有人有一個想法,這可能是造成這種現象? 任何幫助將不勝感激:)

回答

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')