【问题标题】:docker mysql doesn't create the table in sql filedocker mysql 不在 sql 文件中创建表
【发布时间】:2021-01-21 22:14:59
【问题描述】:

我按照docker mysql image的官方文档中的说明在服务启动时初始化数据库,但似乎mysql忽略了sql查询

version: '3'
services:

 # nginx
  nginx-service:
    image: nginx:stable-alpine
    container_name: nginx-container
    restart: unless-stopped
    ports:
     - "8000:80"
    volumes:
     - ./application:/var/www/project
     - ./docker/nginx:/etc/nginx/conf.d
    depends_on:
      - application-service
      - database-service
    networks:
      - php-application

  # php
 application-service:
   build:
     context: .
     dockerfile: docker/php/Dockerfile
   container_name: application-container
   restart: unless-stopped
   volumes:
     - ./application:/var/www/project
   networks:
     - php-application

# mysql
database-service:
  image: mysql:5.7
  container_name: database-container
  ports:
    - "6306:3306"
  restart: unless-stopped
  environment:
    MYSQL_DATABASE: user
    MYSQL_ROOT_PASSWORD: 1234
    MYSQL_PASSWORD: 1234
    MYSQL_USER: root
  command: --log-bin=/var/lib/mysql/mysql-bin.log --binlog-format=ROW --server-id=1
  volumes:
    - ./docker/db:/docker-entrypoint-initdb.d/:ro
    - ./db-data:/var/lib/mysql:rw
  networks:
    - php-application

网络: php-应用程序:

sql 文件包含一个用于创建表的查询,如下所示:

CREATE TABLE `user` (
`id` INT AUTO_INCREMENT NOT NULL,
`email` VARCHAR(255) NOT NULL,
`password` VARCHAR(100) NOT NULL,
`created_at` DATETIME DEFAULT NULL,
PRIMARY KEY(`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

当我登录到容器时,我找到了 sql 文件

root@6d6ab4ba11e6:/# ls docker-entrypoint-initdb.d/ init_db.sql root@6d6ab4ba11e6:/#

【问题讨论】:

    标签: docker docker-compose


    【解决方案1】:

    你检查过其他问题吗? MySQL scripts in docker-entrypoint-initdb are not executed - 如果要应用 /docker-entrypoint-initdb.d 中的 SQL 脚本,/var/lib/mysql 必须为空。

    【讨论】:

    • 感谢您的帮助。我检查了我的数据库容器的日志,结果它无法创建用户 root,因为它默认已经存在。所以我从 docker-compose 删除了 MYSQL_USER: root 删除了容器映像和卷并启动了一个新服务,它工作了
    猜你喜欢
    • 1970-01-01
    • 2023-04-05
    • 1970-01-01
    • 1970-01-01
    • 2020-05-23
    • 1970-01-01
    • 2021-06-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多