我编写了以下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 |
+-----------+------------------+
有谁知道可能导致此行为的原因是什么? 任何帮助将不胜感激:)
答案 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')