如何用非“root”用户连接mariadb docker容器的Spring Boot?

u4dcyp6a  于 2022-11-08  发布在  Docker
关注(0)|答案(1)|浏览(140)

我可以使用用户root成功连接到mariadbdocker容器,如下所示:
application.properties

spring.datasource.url=jdbc:mariadb://my_db:3306/dev
spring.datasource.username=root
spring.datasource.password=rootpw

docker-compose.yml

version: '3.7'

services:
  app:
    container_name: my_app
    depends_on:
      - db

  db:
    container_name: my_db
    image: mariadb:10
    environment:
      - MYSQL_ROOT_PASSWORD=rootpw
      - MYSQL_USER=root
      - MYSQL_PASSWORD=rootpw
      - MYSQL_DATABASE=dev
    volumes:
      - db:/var/lib/mysql

volumes:
  db:

问题:一旦我将用户从root更改为asd
application.propertiesspring.datasource.username=asd
第一个月第九个月第一个月:第一个月第十个月
结果:
错误原因:java.sql. SQL无效授权规范异常:(conn=3)用户'asd'@'XXXX.XX.X.X'的访问被拒绝(使用密码:是)
这里的问题似乎是MYSQL_USER缓存在卷中。
问:如何在卷上重新创建默认的MYSQL_USER用户?

lbsnaicq

lbsnaicq1#

同时,我可以用docker-compose down -v清理卷,然后重新构建。我不知道mariadb容器显然缓存了最初创建的MYSQL_USER

相关问题