我正在使用播放框架,我想连接数据库,但是因为出现以下错误,所以无法连接:
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 ...
谢谢。
答案 0 :(得分:6)
如果您正在使用MYSQL8,请尝试进行show variables like 'transaction_isolation'
。
Mysql8已将tx_isolation
重命名为transaction_isolation
。
答案 1 :(得分:1)
我有同样的问题。我升级了MySql Connector,并解决了我的问题。尝试使用版本8,如下所示:
<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.13</version>
</dependency>
答案 2 :(得分:0)
我也遇到了同样的错误(当我在mysql5中使用mysql6数据库时,它工作正常),然后将连接器jar从mysql-connector-java-5.1.46.jar
更改为mysql.jar
,然后问题消失了。 >
答案 3 :(得分:0)
您的客户端库版本和服务器版本不匹配。
以下是发生变化的版本号:
mysql-connector-java-8.0.8 release notes
<块引用>重要变化:随着 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 server 5.7.20 release notes
<块引用>以前,--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 server 8.0.3 release notes
<块引用>已弃用的 tx_isolation 和 tx_read_only 系统变量已被删除。改用 transaction_isolation 和 transaction_read_only。