[英]Can't create db in docker-entrypoint-initdb.d with mysql docker container
I created a docker-compose.yml
.我创建了一个
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
And in sql
directory, I put a init.sql
.在
sql
目录中,我放了一个init.sql
。
CREATE DATABASE IF NOT EXISTS wp2;
Then run docker-compose up
.然后运行
docker-compose up
。
In the log there is a entry for the init script.在日志中有一个用于初始化脚本的条目。
mysql | 2020-04-08 02:17:32+00:00 [Note] [Entrypoint]: /usr/local/bin/docker-entrypoint.sh: running /docker-entrypoint-initdb.d/init.sql
But the database wp2
is not created.但是没有创建数据库
wp2
。
$ docker exec -it mysql bash
# mysql -u wp -ppass
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| wp1 |
+--------------------+
How can I create a database with mysql container init script?如何使用 mysql 容器初始化脚本创建数据库?
Your wp
user doesn't have access rights on wp2.您的
wp
用户没有 wp2 的访问权限。
Append to your sql file: Append 到您的 sql 文件:
GRANT ALL on wp2.* to wp@'%';
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.