当前位置: 首页 > 知识库问答 >
问题:

JDBC for MySQL连接:适用于MySQL Workbench,而不是JDBC

蒯坚白
2023-03-14

我有一台运行在bluehost机器上的数据库服务器,我给自己提供远程IP访问(通过我的IP地址)。

在我的客户端机器上,我有MySQL工作台,我有一些Java代码。MySQL工作台正在使用我想要的数据库获取连接。使用驱动程序管理器连接,我无法指定我的数据库,例如在URL中的端口#之后使用正斜杠,否则会出现连接错误。

我可以使用Workbench或驱动程序管理器使用相同的用户ID和密码获得连接,但使用JDBC时,它不想让我访问相同的数据库。

当我尝试执行这个(JDBC):“使用数据库”,我得到:

拒绝用户'userid'@'184.11.22.%'访问数据库'数据库'

我使用的URL是

jdbc:mysql://(server-ip):(port)

如果我尝试将“/(数据库)”附加到URL,它会给出访问冲突。MySQL Workbench没有获得任何其他特殊信息,但似乎与指定的默认模式连接。相同的客户端机器;相同的用户ID和密码。JDBC连接出了什么问题?

添加了Java代码:

    db = DriverManager.getConnection(
        "jdbc:mysql://74.220.192.113/advanfc7_atm?" + 
        "user=(myuserid&password=(mypwd)");
    System.out.println("Connected.");
  statement = db.createStatement();
  statement.execute("use advanfc7_atm");
} catch (Exception e) {
  System.out.println("InitDB() "+e.getMessage());

}

我还对getConnection()使用了3个参数,将userid和password分隔为第2个和第3个参数。

共有1个答案

易琛
2023-03-14

getConnection代码中有一个小语法错误:

db = DriverManager.getConnection(
        "jdbc:mysql://74.220.192.113/advanfc7_atm?" + 
        "user=(myuserid&password=(mypwd)");

请注意,user=(myuserid上的右括号缺失。它应该是user=(myuserid)

相反:
因为每个驱动程序都有不同的url语法,所以通常使用驱动程序管理器更安全。getConnection(字符串url、字符串用户、字符串密码)方法。

示例用法:

db = DriverManager.getConnection(
        "jdbc:mysql://74.220.192.113/advanfc7_atm", 
        "myuserid",
        "mypwd");
 类似资料:
  • 我正在为此苦苦挣扎 - 我已经阅读了很多关于它的内容,但我仍然看不到我哪里出了问题。 我已经安装了MySQLWorkBench,连接到我的RDS的测试失败了。我已经在端口3306上测试了使用telnet到我的endpoint,它们也无法连接。 我已经在 Amazon VPC 中创建了经典的公有/私有子网,其中包括一个 DBServerSG 安全组,该安全组当前设置为允许所有入站流量并允许所有出站流

  • 我将nginx作为带有PHP-fpm的web服务器。我可以成功地看到我的网站使用http,但如果我使用https,我将下载索引页面,页面将不会显示。 我的nginx.conf 和conf.d/default。形态

  • 我有一个类试图连接到Heroku数据库: 它返回的是: java.lang.RuntimeException:java.sql。SQLException:未找到适合jdbc的驱动程序:postgres://osnvehqhufnxzr:TS3Qt37c_HHbGRNKw3yk7g88fp@ec2-54-225-93-34.compute-1.amazonaws.com:5432/d39mfq0od

  • 你可以创建一个 ODBC 连接来连接你的 ODBC 数据源。下列的指示引导你通过创建一个新 ODBC 连接的程序。 设置一个 ODBC 数据源连接 若要设置数据源的连接,你要安装相关的驱动程序。 然后,使用 ODBC 管理员来设置 DSN(数据源名)。 【注意】你可以向驱动程序提供者咨询有关如何设置数据源名。 在 Navicat Data Modeler 连接到 ODBC 数据源 连接名 一个最恰

  • 你可以创建一个 ODBC 连接来连接你的 ODBC 数据源。下列的指示引导你通过创建一个新 ODBC 连接的进程。 设置一个 ODBC 数据源连接 在控制面板,选择“管理工具”。 选择“ODBC 数据源”。 选择“用户 DSN”选项卡。 点击“添加”。 选择合适的 ODBC 驱动程序并点击“完成”。 输入所需的信息。 选择“确定”来创建你的 ODBC 驱动程序到列表。 在 Navicat Data

  • 我正在使用Kafka源和接收器连接器创建一个数据管道。源连接器从SQL数据库消费并发布到主题,而接收器连接器订阅主题并放入其他SQL数据库。表有16 GB的数据。现在的问题是,数据不能从一个数据库传输到另一个数据库。但是,如果表的大小很小,比如1000行,那么数据可以成功传输。 源连接器配置: 源连接器日志: 有人能指导我如何调整Kafka源连接器以传输大数据吗?