代码之家  ›  专栏  ›  技术社区  ›  tm1701

Spring Boot&MySql-无法使用新的服务数据库用户名/密码

  •  0
  • tm1701  · 技术社区  · 7 年前

    如何更改数据库用户密码,以便Spring引导应用程序仍然可以使用数据库?环境是Docker和Jenkins。

    我的环境包括:

    1-我的docker-compose.yml我有:

    services:
      xyzdb:
        image: mysql:8.0.12
        environment:
          - MYSQL_ROOT_PASSWORD=admin
          - MYSQL_DATABASE=geosoldatabase
          - MYSQL_USER=johan
          - MYSQL_PASSWORD=${LOCAL_MYSQL_PASSWORD}
        volumes:
          - /var/mysql-data:/var/lib/mysql
        ports:
          - "3306:3306"
    Etc. 
    

    spring.datasource.url = jdbc:mysql://xyxdb:3306/geosoldatabase
    spring.datasource.username = johan
    spring.datasource.password = bladiebladiebla  <== very first password
    

    3-要更改密码,我执行了以下操作:

    • 通过输入数据库docker容器更改用户密码,并使用以下命令更改名称:
    ALTER USER 'johan'@'%' IDENTIFIED BY 'xyzabc123';
    ALTER USER 'johan' IDENTIFIED WITH mysql_native_password BY 'xyzabc123';
    Commit; 
    flush privileges;
    
    • 在my Jenkins系统环境中更新了2个环境变量
    LOCAL_MYSQL_PASSWORD=xyzabc123
    SPRING.DATASOURCE.PASSWORD=xyzabc123
    

    这是行不通的。启动Spring启动应用程序(在重新启动Jenkins后)失败,因为无法使用用户名连接到数据库。有一个错误的密码。

    我忘了什么?

    1 回复  |  直到 7 年前
        1
  •  0
  •   tm1701    7 年前

    几个月来,没有人提出解决方案。这是一个信号。

    几个月以来,我一直在使用固定版本的MySQL。那很好。还没有问题。

    “好”的解决方法是通过Docker使用MySQL。