簡體   English   中英

無法使用 mysql docker 容器在 docker-entrypoint-initdb.d 中創建數據庫

[英]Can't create db in docker-entrypoint-initdb.d with mysql docker container

我創建了一個docker-compose.yml

version: "3.7"
services:
  db:
    container_name: mysql
    image: mysql
    ports:
      - 3306:3306
    volumes:
      - ./sql:/docker-entrypoint-initdb.d
      - ./mysql:/var/lib/mysql
    environment:
      MYSQL_ROOT_USER : root
      MYSQL_ROOT_PASSWORD: root_pass
      MYSQL_DATABASE: wp1
      MYSQL_USER: wp
      MYSQL_PASSWORD: pass
    restart: always  

sql目錄中,我放了一個init.sql

CREATE DATABASE IF NOT EXISTS wp2;

然后運行docker-compose up

在日志中有一個用於初始化腳本的條目。

mysql | 2020-04-08 02:17:32+00:00 [Note] [Entrypoint]: /usr/local/bin/docker-entrypoint.sh: running /docker-entrypoint-initdb.d/init.sql

但是沒有創建數據庫wp2

$ docker exec -it mysql bash
# mysql -u wp -ppass
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| wp1                |
+--------------------+

如何使用 mysql 容器初始化腳本創建數據庫?

您的wp用戶沒有 wp2 的訪問權限。

Append 到您的 sql 文件:

GRANT ALL on wp2.* to wp@'%';

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM