我正在尝试在 docker-compose 中设置 MariaDB。初始化时,它应该具有以下内容:
- root 允许从任何地方连接 (%)
- 创建特定数据库
- 特定用户创建
- 用户授予了该数据库的所有访问权限。
我为此编写了一个脚本,它作为卷安装在容器描述中。
--init-file
范围听起来不错,但它无法完成这项工作,因为第一次运行时 mysql 数据库本身尚未创建。因此mysqld
启动失败并显示:
[ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.user' doesn't exist
有没有办法在启动时但在一切都初始化之后运行一些脚本,或者有任何其他方法在第一次运行时创建这些工件?