【问题标题】:How to connect payara and MySQL?如何连接payara和MySQL?
【发布时间】:2019-09-17 16:14:39
【问题描述】:

我想将 payara 服务器与 MySQL 服务器连接起来。

我做了什么?

我为 MySQL 下载了 connector/J。

我把它放在 C:\Users\someUser\Desktop\payara5\glassfish\domains\domain1\lib\ext 中

我启动了 payara 服务器。

我在 localhost:4848 上创建了连接池。

我尝试 ping,但每次都有错误。

详情:

  • Payara 版本:5.182
  • 连接器:我试过 mysql-connector-java-8.0.17.jar 之后 mysql-connector-java-5.1.48-bin.jar 因为我读过有 最新版本有些问题。
  • 我尝试将两个连接器放在不同的位置:
    C:\Users\someUser\Desktop\payara5\glassfish\domains\domain1\lib\ext, C:\Users\someUser\Desktop\payara5\glassfish\domains\domain1\lib,
    C:\Users\someUser\Desktop\payara5\glassfish\lib.
  • 我还尝试从 grizzly-npn-bootstrap.jar 中删除 sun 文件夹。
  • 连接池:ResourceType 我试过DataSource,XADataSource, 连接池数据源。
  • 数据源类名我尝试更改它
    com.mysql.jdbc.jdbc2.optional.MysqlDataSource
    com.mysql.jdbc.MysqlDataSource 听从别人的建议。

  • 属性:密码、用户/用户名(与我在 MySQL 中使用的相同) Workbench),serverName:localhost,databaseName(同我 在 MySQL Workbench 中创建),端口号:3306(我没有更改), url:jdbc:mysql://localhost:3306/name_db.

发生的错误:

  • 类名错误或未设置类路径: com.mysql.jdbc.Driver
  • java.lang.NoSuchMethodError: sun.security.ssl.SSLSessionImpl.(Lsun/security/ssl/ProtocolVersion;Lsun/security/ssl/CipherSuite;Ljava/util/Collection;Lsun/security/ssl/SessionId;Ljava/语言/字符串;I)V
  • 通信链路故障

在每次发生错误时尝试 ping 后。每次我更改某些内容时,我都会重新启动服务器。我也再次下载了payara并尝试了。我还检查了 MySQL 服务器正在运行。我做错了什么或者我还能尝试什么?

【问题讨论】:

  • 我不知道你从哪里得到“某人的建议”。你浏览过这些链接吗?它们包含一些可能对您有所帮助的信息:blog.payara.fish/using-mysql-with-payaragithub.com/payara/Payara/issues/2747
  • 实际上来自这个网站 blog.payara.fish/using-mysql-with-payara。但是我在描述问题时错过了“cj”(我也试过没有它)。谢谢,但我按照这个说明做了几次。我也尝试过 cmets 的建议。
  • 配置完数据源后能否分享一下你的domain.xml?请确保您之前更换过用户名和密码。
  • 你是如何启动 Payara 的? Payara Server 带有两个包含配置等的域目录(domain1 和 production)。在您的情况下,问题的原因可能是您正在启动名为“production”的域,而您将数据库驱动程序文件放在“domain1”下。我建议您将数据库驱动文件放在“生产”域目录(lib 子目录)下,或者确保启动名为“domain1”的域。

标签: mysql jakarta-ee payara


【解决方案1】:

用 asadmin 试试这个

create-jdbc-connection-pool --ping --restype javax.sql.DataSource --datasourceclassname com.mysql.cj.jdbc.MysqlDataSource --property user=root:password=password:DatabaseName=dbname:ServerName=127.0.0.1:port=3306:useSSL=false:zeroDateTimeBehavior=CONVERT_TO_NULL:useUnicode=true:serverTimezone=UTC:characterEncoding=UTF-8:useInformationSchema=true:nullCatalogMeansCurrent=true:nullNamePatternMatchesAll=false MySqlPool

【讨论】:

    【解决方案2】:

    我尝试使用 GUI 配置 MySql,但没有成功。我尝试了很多方法(如堆栈溢出中的其他线程中所述)来解决问题,但使用 GUI 从未成功。但我尝试从命令提示符创建连接池,第一次尝试成功。

    create-jdbc-connection-pool --ping --restype javax.sql.DataSource --datasourceclassname com.mysql.cj.jdbc.MysqlDataSource --property user=root:password=password:DatabaseName=test:ServerName=127.0.0.1:port=3306:useSSL=false:zeroDateTimeBehavior=CONVERT_TO_NULL:useUnicode=true:serverTimezone=UTC:characterEncoding=UTF-8:useInformationSchema=true:nullCatalogMeansCurrent=true:nullNamePatternMatchesAll=false MySqlPool
    

    我建议其他人在通过 GUI 创建连接池时遇到问题,尝试使用“asadmin”从命令提示符中尝试

    【讨论】:

      【解决方案3】:

      https://dev.mysql.com/downloads/connector/j/ 下载mysql驱动jar 通过以下命令将 jar 添加到 payara asadmin add-library /path/to/mysql-connector-java-bin.jar 池前删除,重启payara 建新池 这对我有用

      【讨论】:

        猜你喜欢
        • 2021-05-20
        • 2019-06-27
        • 1970-01-01
        • 1970-01-01
        • 2020-03-13
        • 2021-12-07
        • 2019-10-22
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多