【问题标题】:Why migrating from MySQL 5.5 to 5.7 is refusing to connect?为什么从 MySQL 5.5 迁移到 5.7 拒绝连接?
【发布时间】:2018-09-17 11:23:38
【问题描述】:

我正在尝试从 MySQL 5.5(port:3306) 升级到 5.7(port:3308) 并进行以下更改。

  1. 为 5.7 安装新的 MySQL 服务。
  2. 将 MySQL-connector-java 从 v.3.1.11-bin.jar 替换为 v5.1.9.jar
  3. 将 database.properties 中的端口从 3306 更改为 3308。

但是当我尝试从本地 tomcat 运行应用程序时,它会抛出异常。

java.net.ConnectException: Connection refused: connect
    java.net.DualStackPlainSocketImpl.connect0(Native Method)
    java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source)
    java.net.AbstractPlainSocketImpl.doConnect(Unknown Source)
    java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source)
    java.net.AbstractPlainSocketImpl.connect(Unknown Source)

不知道我在这次迁移中缺少什么? 另外: 如果我运行两个 MySQL 服务,而不是 3308,应用程序正在尝试连接到旧服务 3306!!!

【问题讨论】:

  • 为什么MySQL的端口从3306变成了3308?你能验证 MySQL 实际上是在监听 3308 端口吗?
  • 是的,@TimBiegeleisen,我保留了旧的 SQL。我也尝试通过工作台连接较新的。连接正常。
  • 好吧,Tomcat基本上和MySQL无关。您能否提供有关您使用 MySQL 的 Java 应用程序代码的更多信息?
  • @TimBiegeleisen 基本上我们也需要升级应用程序的 Java 版本和 MySQL 版本。所以首先我从 JDK 1.6 升级到 1.8 并测试了应用程序。它工作正常,所以现在我正在尝试将 MySQL 从 5.5 升级到 5.7。较旧的 MySQL 托管在 3306 端口上,而较新的 MySQL 托管在 3308 上,因为我保留了这两个 MySQL 服务以用于备份目的。所以我所做的一切都是在 3308 上安装新的 sql,创建数据库和表,将应用程序的 jdbc url 从 jdbc:mysql://localhost:3306/mgmttest 更改为 jdbc:mysql: //localhost:3308/mgmttest,将mySQlconnector 3.1.11-bin.jar替换为5.1.9.jar

标签: mysql tomcat database-migration mysql-connector mysql-5.7


【解决方案1】:

使用旧驱动程序而不是新驱动程序。这将解决问题。还要确保数据库在新数据库中具有所有表和最低要求的数据。

【讨论】:

    猜你喜欢
    • 2021-11-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-24
    • 1970-01-01
    • 1970-01-01
    • 2012-11-26
    • 2012-12-19
    • 1970-01-01
    相关资源
    最近更新 更多