如何解决 CockroachDB 和 Spring-Boot 的密码问题

How to fix password problem with CockroachDB and Spring-Boot

我对 spring-boot 和 cockroachDB 有疑问。在我的本地机器上运行 cockraochDB 和 spring-boot。 spring 启动一开始,我就遇到异常。蟑螂以不安全模式运行。

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 中的 postgresql 之后使用 ://

您的数据源 url 应该是

jdbc:postgresql://localhost:26257/mydb?sslmode=disable