【问题标题】:Cannot connect to Mysql using java jdbc Driver无法使用 java jdbc 驱动程序连接到 Mysql
【发布时间】:2014-07-28 21:38:11
【问题描述】:

我正在使用 Spring Data 和休眠在 Tomcat 7 中构建应用程序。我让它在我的 mac 上运行,但是当我将应用程序移植到我的 linux 服务器并更改配置以匹配 MySQL 登录时,我在 Tomcat 启动时收到连接异常。

我的开发环境(可以工作的地方)和生产环境(不能工作的地方)之间的一些区别: -开发是mac,生产是linux - 开发 MySQL 版本:Ver 14.14 Distrib 5.6.16,使用 EditLine 包装器的 osx10.9 (x86_64),生产 MySQL 版本:Ver 14.14 Distrib 5.5.37,使用 readline 6.2 的 debian-linux-gnu (x86_64)

hibernate.properties 看起来像这样:

hibernate.dialect=org.hibernate.dialect.MySQLDialect
hibernate.connection.driver_class=com.mysql.jdbc.Driver
hibernate.connection.url=jdbc:mysql://localhost:3306/<dbname>
hibernate.connection.username=root
hibernate.connection.password=<root password>

一个奇怪的事情是,在我的linux机器上,输入netstat命令时mysql没有出现,但我可以从命令行登录没有问题。在 mysql 中,我输入“显示变量;”并且端口返回为 0。但是,当我将此端口放入休眠属性时,Tomcat 仍然无法连接。

【问题讨论】:

  • 当我 ps aux | grep mysql 我得到以下信息:
  • mysql 28881 0.0 1.1 615828 43844 ? Sl Jun02 3:34 /usr/sbin/mysqld --skip-grant-tables --skip-networking

标签: java mysql linux hibernate tomcat


【解决方案1】:

问题是 MySQL 没有正确运行。端口号为 0 并且 --skip-networking 已打开。我重新启动了 MySQL,并且它在下一次正确启动。在此之后我可以成功连接。

【讨论】:

    【解决方案2】:

    你能从mysql命令行创建数据库&lt;dbname&gt;吗? 你确定 mysqld 运行正常吗?端口返回为 0 是什么意思?

    您如何使用 tomcat 部署您的应用程序?您使用的是 tomcat7 debian 软件包还是其他软件包?消息异常到底说明了什么?

    【讨论】:

    • 我可以从mysql命令行创建数据库,而且我已经创建好了。我使用maven打包我的spring应用程序,将war命名为ROOT.war,并将其放入$TOMCAT_HOME/webapps,然后运行$TOMCAT_HOME/webapps/bin/startup.sh。
    • 返回为 0 的端口正是我所说的。在 mysql 命令行中,我输入“show variables;”许多变数又回来了。端口变量显示为 0。
    猜你喜欢
    • 1970-01-01
    • 2021-05-18
    • 2016-09-07
    • 2017-06-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-19
    相关资源
    最近更新 更多