我正在尝试在 docker-compose 中设置 MariaDB。初始化时,应该有以下内容:
我为此制作了一个脚本,它作为卷安装在容器描述中。
--init-file
parameter 听起来不错,但它无法完成这项工作,因为第一次运行时 mysql 数据库本身尚未创建。因此 mysqld
启动失败并显示:
[ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.user' doesn't exist
有什么方法可以在启动时但在一切都初始化之后运行一些脚本,或者有任何其他方法可以在第一次运行时创建这些工件?
根据参考,在
/docker-entrypoint-initdb.d
中挂载您的init文件的目录,并确保该文件作为可识别的扩展名将实现初始化您的数据目录。