我用mysql启动了一个docker容器.
实际上我想创建一个新用户和一个新表 - 我必须在MySQL Workbench中完成.
这是我的docker run命令:
docker run -p 3306:3306 --name mysql-server -v ~/Development/web/myproject/docker/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root -d mysql:latest
我的问题是:
我如何添加一个sql启动脚本(仅用于容器的第一次启动),它创建了我的用户和我的表?
我必须做哪些步骤?
有人可以帮我吗?
非常感谢!
你需要通过创建用户MYSQL_USER,MYSQL_PASSWORDENV VAR和使用量/docker-entrypoint-initdb.d与启动脚本映射目录(.sh,.sql,.sql.gz)
docker run -p 3306:3306 --name mysql-server \
-v ~/Development/web/myproject/docker/mysql:/var/lib/mysql \
-v ~/Development/web/myproject/docker/yourstartupscripts:/docker-entrypoint-initdb.d \
-e MYSQL_ROOT_PASSWORD=root \
-e MYSQL_USER=youruser \
-e MYSQL_PASSWORD=youruserpassword \
-d mysql:latest
Run Code Online (Sandbox Code Playgroud)
解释来自:https://hub.docker.com/_/mysql/
MYSQL_USER,MYSQL_PASSWORD
这些变量是可选的,用于创建新用户并设置该用户的密码.此用户将被授予MYSQL_DATABASE变量指定的数据库的超级用户权限(参见上文).这两个变量都是创建用户所必需的.
初始化新实例
第一次启动容器时,将创建具有指定名称的新数据库,并使用提供的配置变量进行初始化.此外,它将执行具有扩展名的文件.sh,.sql并且.sql.gz可以在其中找到/docker-entrypoint-initdb.d.文件将按字母顺序执行.您可以通过将SQL转储装入该目录并使用提供的数据提供自定义映像来轻松填充您的mysql服务.默认情况下,SQL文件将导入到MYSQL_DATABASE变量指定的数据库中.
| 归档时间: |
|
| 查看次数: |
3536 次 |
| 最近记录: |