如何解决 CockroachDB 和 Spring-Boot 的密码问题
Posted
技术标签:
【中文标题】如何解决 CockroachDB 和 Spring-Boot 的密码问题【英文标题】:How to fix password problem with CockroachDB and Spring-Boot 【发布时间】:2020-01-06 08:33:03 【问题描述】:我对 spring-boot 和 cockroachDB 有疑问。在我的本地机器上运行 cockraochDB 和 spring-boot。一旦 spring boot 开始,我就会遇到异常。 Cockroach 以不安全模式运行。
application.yaml:
spring:
datasource:
url: jdbc:postgresql:localhost:26257/mydb?sslmode=disable
username: myuser
password:
jpa:
properties:
hibernate.dialect: org.hibernate.dialect.PostgreSQL94Dialect
show-sql: true
database-platform: org.hibernate.dialect.PostgreSQL94Dialect
hibernate:
ddl-auto: create
pom.xml 部分:
[...]
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
</dependency>
<dependency>
<groupId>org.liquibase</groupId>
<artifactId>liquibase-core</artifactId>
</dependency>
<dependency>
<groupId>org.liquibase</groupId>
<artifactId>liquibase-maven-plugin</artifactId>
<version>3.4.1</version>
</dependency>
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
</dependency>
</dependencies>
[...]
我创建了两个用户。一个没有密码,一个在 cockroachDB 的数据库“mydb”中有密码。两者都不起作用。将“?sslmode=disable”附加到 spring.datasource.url 中的 url 也不起作用。
无密码异常:
org.postgresql.util.PSQLException: The server requested password-based authentication, but no password was provided.
密码例外:
Caused by: org.postgresql.util.PSQLException: FATAL: password authentication failed for user "myuser"
感谢您的帮助
【问题讨论】:
检查数据库 url :- jdbc:postgresql://localhost:26257/mydb?sslmode=disable 哈哈感谢@GovindParasha。我是盲人;)它完美无缺:) 那太好了,我会作为答案发布 【参考方案1】:您必须在数据源 URL 中的 postgressql 之后使用://
。
你的数据源网址应该是
jdbc:postgresql://localhost:26257/mydb?sslmode=disable
【讨论】:
以上是关于如何解决 CockroachDB 和 Spring-Boot 的密码问题的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Docker 容器内的 CockroachDB 中运行 SQL 脚本?