mysql - MySQL docker compose后,SQL脚本执行不起作用

标签 mysql docker

我想创建一个自动执行 4 个 SQL 脚本的 MySQL Docker 容器,这样我就可以找到已经可以使用的架构和用户。为了做到这一点,我将 4 个 SQL 脚本文件和 docker-compose.yml 放入文件夹 my-mysql 中,如下所示

version: '3.6'
services:
  mysql:
    image: mysql:5.7
    restart: unless-stopped
    environment:
    - MYSQL_ROOT_PASSWORD=my_password
    ports:
    - my-ip_address:my_port
    volumes:
    - mysql:/var/lib/mysql
    - ./mysql-init:/docker-entrypoint-initdb.d
    command:
    - --max-allowed-packet=64M

volumes:
  mysql: {}

我通过sudo docker-compose up执行它,在此之前没有检查其他MySQL容器。 MySQL 容器可以正确创建自身,但脚本不执行它,并且我找不到我的数据库。我该如何解决这个问题?

最佳答案

如果您对容器有 shell 洞察力,请像这样 docker exec -it mysql bash 连接到此容器,其中“mysql”代表容器名称。

查看此容器,并检查您的脚本是否位于正确的位置、文件系统权限是否匹配以及您是否正确调用/触发这些脚本。

关于mysql - MySQL docker compose后,SQL脚本执行不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59263910/

相关文章:

docker - 如何使用ansible docker_container模块重新加载配置?

docker - Dockerfile-如何定义将主机文件系统安装到容器

mysql - 存储大于 64 的 SET 的最佳方式

mysql - 找出每一行的最大值

python - 使用 Python 在数据库中使用 Like 语句

Docker Compose 无法连接到数据库

docker - Docker --storage-opt size 与容器实际磁盘使用情况的关系

php - $_SERVER ['HTTP_REFERER'];尝试制作引用脚本时返回 .css 文件

mysql - 插入命令中的用户定义函数

apache - 如何管理安装到 docker 容器中的卷的权限?