【发布时间】:2016-04-15 22:00:03
【问题描述】:
我遇到了一个非常奇怪的错误。我已经能够将其归结为一个非常简单的案例,我不知道我是否发现了一个错误,或者我是否遗漏了一些要点。
问题是我需要一个 mariadb 容器,我可以使用以下命令完美运行它:
docker run -e MYSQL_ROOT_PASSWORD=my-secret-pw mariadb
但使用以下 docker-compose.yml 文件失败:
wordpress_db:
image: mariadb
environment:
- MYSQL_ROOT_PASSWORD=foo
它输出,除其他外:
wordpress_db_1 | 2016-01-11 14:33:25 140183257745344 [Note] InnoDB: The InnoDB memory heap is disabled
我可以清楚地识别为错误的第一条消息是:
wordpress_db_1 | InnoDB: No valid checkpoint found.
(您可以在帖子末尾看到完整的输出)
如果我将 mariadb 切换为 mysql,则不会发生这种情况。
谁能帮帮我?
谢谢!
输出:
Starting miqueladell_wordpress_db_1
Attaching to miqueladell_wordpress_db_1
wordpress_db_1 | 2016-01-11 14:33:25 140183257745344 [Note] mysqld (mysqld 10.1.10-MariaDB-1~jessie) starting as process 1 ...
wordpress_db_1 | 2016-01-11 14:33:25 140183257745344 [Note] InnoDB: Using mutexes to ref count buffer pool pages
wordpress_db_1 | 2016-01-11 14:33:25 140183257745344 [Note] InnoDB: The InnoDB memory heap is disabled
wordpress_db_1 | 2016-01-11 14:33:25 140183257745344 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
wordpress_db_1 | 2016-01-11 14:33:25 140183257745344 [Note] InnoDB: Memory barrier is not used
wordpress_db_1 | 2016-01-11 14:33:25 140183257745344 [Note] InnoDB: Compressed tables use zlib 1.2.8
wordpress_db_1 | 2016-01-11 14:33:25 140183257745344 [Note] InnoDB: Using Linux native AIO
wordpress_db_1 | 2016-01-11 14:33:25 140183257745344 [Note] InnoDB: Using SSE crc32 instructions
wordpress_db_1 | 2016-01-11 14:33:25 140183257745344 [Note] InnoDB: Initializing buffer pool, size = 256.0M
wordpress_db_1 | 2016-01-11 14:33:25 140183257745344 [Note] InnoDB: Completed initialization of buffer pool
wordpress_db_1 | 2016-01-11 14:33:25 140183257745344 [Note] InnoDB: Highest supported file format is Barracuda.
wordpress_db_1 | InnoDB: No valid checkpoint found.
wordpress_db_1 | InnoDB: If this error appears when you are creating an InnoDB database,
wordpress_db_1 | InnoDB: the problem may be that during an earlier attempt you managed
wordpress_db_1 | InnoDB: to create the InnoDB data files, but log file creation failed.
wordpress_db_1 | InnoDB: If that is the case, please refer to
wordpress_db_1 | InnoDB: http://dev.mysql.com/doc/refman/5.6/en/error-creating-innodb.html
wordpress_db_1 | 2016-01-11 14:33:25 140183257745344 [ERROR] Plugin 'InnoDB' init function returned error.
wordpress_db_1 | 2016-01-11 14:33:25 140183257745344 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
wordpress_db_1 | 2016-01-11 14:33:25 140183257745344 [Note] Plugin 'FEEDBACK' is disabled.
wordpress_db_1 | 2016-01-11 14:33:25 140183257745344 [ERROR] Unknown/unsupported storage engine: InnoDB
wordpress_db_1 | 2016-01-11 14:33:25 140183257745344 [ERROR] Aborting
wordpress_db_1 |
miqueladell_wordpress_db_1 exited with code 1
【问题讨论】:
-
...but log file creation failed。 ...无论发生了什么,它都没有正确创建 innodb 数据库。 -
是的,我可以看到...但是 docker 容器不应该需要在“部署者”部分进行交互,所以我应该能够通过 docker 命令解决这个问题。我猜……
-
在重新启动容器之前尝试
docker-compose stop然后docker-compose rm。这是为了确保关联的卷丢失并且您从头开始 -
停止您的 mariadb 服务器...然后再次启动您的服务器,将
--skip-innodb-use-sys-malloc添加到您的启动命令中 -
您好,感谢您的所有建议。我解决了错误,但我不确定如何。我的配置有一些不同的问题,我解决了这个问题作为副作用。对不起,我不能给这个问题“关闭”:-P
标签: mysql docker innodb mariadb