【问题标题】:Can't make the MySQL Client example to work无法使 MySQL 客户端示例工作
【发布时间】:2018-07-23 13:18:53
【问题描述】:

芭蕾舞演员版本:0.980.1

将 MySQL 作为 docker 容器运行

docker run -p 3306:3306 --name mysql-workshop-bndes -e MYSQL_ROOT_PASSWORD=rootroot -d mysql:latest

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
| testdb             |
+--------------------+
5 rows in set (0.00 sec)

从示例中复制的代码

错误

MacBook-Joao:funcionarios joaoemilio$ ballerina run funcionarios.bal
error: ballerina/runtime:CallFailedException, message: call failed
        at ..<stop>(funcionarios.bal:5)
caused by error
        at ballerina/mysql:stop(endpoint.bal:70)


MacBook-Joao:funcionarios joaoemilio$

【问题讨论】:

  • 能否在dbOptions中加入“allowPublicKeyRetrieval:true”并检查是否可以连接到数据库?
  • 您使用的是什么mysql 服务器版本和mysql 驱动程序?顺便说一句,请在执行 ballerina 命令的目录中查找 balleirna-internal.log 文件。我遇到了类似的错误,该文件显示“java.sql.SQLException:服务器时区值 'PDT' 无法识别或代表多个时区。”我可以通过将属性 serverTimezone:"UTC" 放入 dbOptions 来修复我的错误。
  • 它不会为此错误创建日志文件...
  • MacBook-Joao:funcionarios joaoemilio$ ls -ltr 总计 24 -rw-r--r-- 1 joaoemilio 员工 6619 7 月 23 日 09:35 funcionarios.balx -rw-r--r-- 1 joaoemilio 员工 1999 年 7 月 23 日 21:04 funcionarios.bal MacBook-Joao:funcionarios joaoemilio$
  • endpoint mysql:Client testDB { host: "localhost", port: 3306, name: "testdb", username: "root", password: "rootroot", poolOptions: { maximumPoolSize: 5 }, dbOptions: { useSSL: false, allowPublicKeyRetrieval:true, serverTimezone:"UTC" } };

标签: ballerina


【解决方案1】:

就我而言,我使用的 mysql jdbc 连接器无法正常工作。我下载了一个新的并替换了 /Library//bre/lib 中的前一个 现在可以正常使用了。

mysql:5.7 连接器:mysql-connector-java-5.1.46.jar

【讨论】:

  • 很高兴知道它已解决。请问您之前使用的驱动版本是什么?另外,如果可能的话,您能否在更换连接器后告诉我它是否适用于 mysql:latest(即 mysql 8)?
猜你喜欢
  • 2013-04-03
  • 2021-11-02
  • 1970-01-01
  • 2017-08-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-17
相关资源
最近更新 更多