compose和mysql的结合

pbpqsu0x  于 2021-07-18  发布在  Java
关注(0)|答案(0)|浏览(385)

我有一些关于docker compose多数据库的问题,包括spring boot项目和mysql。
我已经看了一些关于这个设置的资源,但是我找不到我的快乐。
我有几个微服务,1个代理,1个资源,1个实习和1个论坛。所以我用docker文件创建了另一个项目这里是架构:

我的docker-compose.yml

  1. version: '3'
  2. services:
  3. db:
  4. image: mysql:5
  5. volumes:
  6. # - ./data:/var/lib/mysql
  7. - ./script/create-multiple-database.sh:/docker-entrypoint-initdb.d/create-multiple-database.sh
  8. restart: always
  9. ports:
  10. - 3306:3306
  11. environment:
  12. MYSQL_ROOT_PASSWORD: some_password
  13. MYSQL_USERNAME: admin
  14. MYSQL_PASSWORD: admin
  15. MYSQL_MULTIPLE_DATABASES: ms-agent,ms-forum,ms-ressource,ms-stage

my create-multiple-database.sh:

  1. # !/bin/bash
  2. set -e
  3. set -u
  4. function create_user_and_database() {
  5. local database=$1
  6. echo " Creating user and database '$database'"
  7. mysql -e ON_ERROR_STOP=1 -u"$MYSQL_USERNAME" -p"$MYSQL_ROOT_PASSWORD" <<MYSQL_SCRIPT
  8. CREATE USER $database;
  9. CREATE DATABASE $database;
  10. GRANT ALL PRIVILEGES ON DATABASE $database TO $database;
  11. MYSQL_SCRIPT
  12. }
  13. if [ -n "$MYSQL_MULTIPLE_DATABASES" ]; then
  14. echo "Multiple database creation requested: $MYSQL_MULTIPLE_DATABASES"
  15. for db in $(echo $MYSQL_MULTIPLE_DATABASES | tr ',' ' '); do
  16. create_user_and_database $db
  17. done
  18. echo "Multiple databases created"
  19. fi

所以我有几个问题:
我试过了,它让我访问拒绝所有的时间,甚至通过改变mysql行和尝试几个密码。所以我一定不明白如何使用mysql密码或user或root\u密码。
如果我想在docker映像启动期间运行mysql脚本,它应该存储在哪里?
这种溶液能和液化酶一起使用吗?
衷心感谢您的反馈

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题