Spring 无法从数据源获取Jdbc连接-Flyway
我有一个MariaDB数据库作为docker容器运行。该数据库位于:Spring 无法从数据源获取Jdbc连接-Flyway,spring,flyway,Spring,Flyway,我有一个MariaDB数据库作为docker容器运行。该数据库位于:127.0.0.1:3306,并且没有应用程序在使用给定凭据连接数据库时出现任何问题 MySQL工作台(无问题)、DataGrip(无问题)、Artisan(无问题)、IDEA IDE数据库视图(无问题)、手动连接(无问题)。完全没有问题该服务在默认端口的localhost上可用,所有其他应用程序都可以毫无问题地连接到它们 但是flyway将抛出: Flyway 4.1.1 by Boxfuse ERROR: Unable t
127.0.0.1:3306
,并且没有应用程序在使用给定凭据连接数据库时出现任何问题
MySQL工作台(无问题)、DataGrip(无问题)、Artisan(无问题)、IDEA IDE数据库视图(无问题)、手动连接(无问题)。完全没有问题该服务在默认端口的localhost上可用,所有其他应用程序都可以毫无问题地连接到它们
但是flyway
将抛出:
Flyway 4.1.1 by Boxfuse
ERROR:
Unable to obtain Jdbc connection from DataSource (jdbc:mysql://127.0.0.1:3306/local_db_emp) for user 'local_user_emp': Could not connect to 127.0.0.1:3306: unexpected end of stream, read 0 bytes from 4
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
SQL State : 08
Error Code : -1
Message : Could not connect to 127.0.0.1:3306: unexpected end of stream, read 0 bytes from 4
这就是我运行flyway
命令的方式:
flyway \
-driver=org.mariadb.jdbc.Driver \
-url=jdbc:mariadb://127.0.0.1:3306/local_db_emp \
-user=local_user_emp \
-password=local_pass_emp \
-locations=filesystem:/src/main/resources/migrations \
-sqlMigrationPrefix= \
migrate
我也试过:-使用
localhost
而不是127.0.0.1
-使用
jdbc:mysql
-使用MySQL驱动程序
-尝试使用docker容器名称
dev_数据库
而不是127.0.0.1 | | localhost
Ping服务,到处都没有问题,只是“flywayz”没有问题。我遇到了类似的问题,意识到flyway的配置文件夹出错了 在添加本地url之前,请确保您的连接数据库名称已被取消注释。该文档带有注释,因此我忘记取消注释,这导致flyway无法连接或识别我的SQL数据库 url=jdbc:jtds:sqlserver://localhost 为了使用location,您必须确保其未被注释 参见下面的示例 “#”flyway.user=粉红色 用户=粉红色 我必须对jdbc连接和密码做同样的事情
希望这有帮助。我也在使用powershell,这可能会有所不同。确认
org.mariadb.jdbc.Driver
作为jdbc驱动程序工作,并且使用的是来自类路径的驱动程序。如果您指向非侦听端口,是否可以运行一个快速实验并让我们知道结果。您是否返回了相同的错误对话框?@markdsievers抱歉我缺席了。运行lsof显示数据库服务侦听连接。尝试使用任何其他应用程序/库连接到服务时不会出现任何问题。我使用的是Flyway java lib,没有任何问题。我在没有配置文件的情况下直接调用命令,但我也尝试了配置文件方法,但仍然存在相同的问题,我检查了5次属性。很抱歉听到这个消息。您是否碰巧有错误..或者在控制台上看到什么。