我创建了一个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容器初始化脚本创建数据库?
答案 0 :(得分:0)
您的wp
用户没有对wp2的访问权限。
附加到您的sql文件:
GRANT ALL on wp2.* to wp@'%';