13

我正在使用播放框架,我想连接数据库,但我不能,因为我收到以下错误:

play.api.Configuration$$anon$1: Configuration error[Cannot connect to database [default]]
Caused by: play.api.Configuration$$anon$1: Configuration error[Failed to initialize pool: Unknown system variable 'tx_isolation']
Caused by: com.zaxxer.hikari.pool.HikariPool$PoolInitializationException: Failed to initialize pool: Unknown system variable 'tx_isolation' java.sql.SQLException: Unknown system variable 'tx_isolation

我试图找到tx_isolation,但它不存在:

mysql> show variables like 'tx_isolation';
Empty set (0.00 sec)

那么什么是,我怎样才能找到tx_isolation


对不起。这是我的错误代码。我使用 mysql 8.0.11。所以我找到了“transaction_isolation”

play.db {
  config = "db"
  default = "default"
}
db {
//TODO : 작업필요
  default.driver = com.mysql.jdbc.Driver
  default.url = "jdbc:mysql://127.0.0.1:3306/testPlayDB"
  default.username = root
  default.password = "321A@654"
}

错误原因 Default.url = "jdbc:mysql://127.0.0.1:3306/testPlayDB"

我第一次使用 Scala、playframework 和 StackOverflow...

谢谢你。

4

4 回答 4

23

如果您使用的是 MYSQL8,请尝试show variables like 'transaction_isolation'. mysql8 已重命名tx_isolationtransaction_isolation.

于 2018-06-25T06:02:00.373 回答
12

我有同样的问题。我升级了 MySql 连接器并解决了我的问题。尝试使用版本 8 ,如下所示:

<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>8.0.13</version>
</dependency>
于 2018-11-19T19:26:20.287 回答
1

客户端库版本和服务器版本不匹配。

以下是发生变化的版本号:

mysql-connector-java-8.0.8 发行说明

重要更改:随着 MySQL Server 8.0.3 的更改,Connector/J 代码中的系统变量 tx_isolation 和 tx_read_only 已替换为 transaction_isolation 和 transaction_read_only。用户应将 Connector/J 更新到此最新版本,以便连接到 MySQL 8.0.3。如果他们在代码中使用旧变量,他们也应该对自己的应用程序进行相同的调整。(错误 #26440544)

mysql 服务器 5.7.20 发行说明

以前,--transaction-isolation 和--transaction-read-only 服务器启动选项对应于 tx_isolation 和 tx_read_only 系统变量。为了在启动选项和系统变量名称之间更好地对应名称,已创建 transaction_isolation 和 transaction_read_only 作为 tx_isolation 和 tx_read_only 的别名。tx_isolation 和 tx_read_only 变量现在已弃用,并将在 MySQL 8.0 中删除。应将应用程序调整为使用 transaction_isolation 和 transaction_read_only。

mysql 服务器 8.0.3 发行说明

已弃用的 tx_isolation 和 tx_read_only 系统变量已被删除。请改用 transaction_isolation 和 transaction_read_only。

于 2021-07-29T16:59:07.430 回答
0

我也遇到了同样的错误(当我在 mysql5 中使用 mysql6 数据库时它工作正常)然后我将连接器 jar 从 更改mysql-connector-java-5.1.46.jarmysql.jar然后问题消失了。

于 2018-08-09T10:26:12.260 回答