bal*_*teo 18 mysql docker docker-compose
我正在尝试创建一个mysql数据库/模式,如果它尚不存在.
这是我尝试过的:
泊坞窗,compose.yml
mysql:
image: mysql:5.6.26
environment:
- MYSQL_ROOT_PASSWORD=root
command: "mysql -uroot -proot < createDB.sql"
ports:
- "3306:3306"
Run Code Online (Sandbox Code Playgroud)
createDB.sql
CREATE DATABASE IF NOT EXISTS bignibou;
Run Code Online (Sandbox Code Playgroud)
这是行不通的.如果架构不存在,那么使用docker/docker-compose创建架构的最佳方法是什么?
bal*_*teo 24
我终于找到了解决方案的开始.
MySQL映像采用一个环境变量,即MYSQL_DATABASE,它在映像启动时使用数据库的名称初始化容器.请参阅此处获取完整文档.
或者阅读以下摘录:
MYSQL_DATABASE
此变量是可选的,允许您指定要在映像启动时创建的数据库的名称.如果提供了用户/密码(见下文),则该用户将被授予对该数据库的超级用户访问权限(对应于GRANT ALL).
这是我想出的:
mysql:
image: mysql:5.6.26
environment:
- MYSQL_ROOT_PASSWORD=root
- MYSQL_DATABASE=bignibou
ports:
- "3306:3306"
Run Code Online (Sandbox Code Playgroud)
我现在需要一种方法来指定默认排序规则但这是另一个故事......
编辑:对于那些有兴趣从默认值中指定不同排序规则的人,以下是使用另一个将覆盖默认排序规则的配置文件的说明.见下文:
使用自定义MySQL配置文件MySQL启动配置在文件/etc/mysql/my.cnf中指定,该文件又包含在/etc/mysql/conf.d目录中以.cnf结尾的所有文件.此目录中文件中的设置将扩充和/或覆盖/etc/mysql/my.cnf中的设置.如果要使用自定义的MySQL配置,可以在主机上的目录中创建备用配置文件,然后将该目录位置挂载到mysql容器中的/etc/mysql/conf.d.
如果/my/custom/config-file.cnf是自定义配置文件的路径和名称,则可以像这样启动mysql容器(请注意,此命令中仅使用自定义配置文件的目录路径):
$ docker run --name some-mysql -v /my/custom:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD = my-secret-pw -d mysql:tag这将启动一个新的容器some-mysql所在的MySQL instance使用/etc/mysql/my.cnf和/etc/mysql/conf.d/config-file.cnf中的组合启动设置,后者的设置优先.
| 归档时间: |
|
| 查看次数: |
41441 次 |
| 最近记录: |