关于mariadb官方码头图像的InnoDB错误

时间:2016-01-11 14:40:07

标签: mysql docker innodb mariadb

我有一个非常奇怪的错误。我已经能够把它归结为一个非常简单的案例,我不知道我是否发现了一个错误,或者我是否遗漏了一些错误。

问题是我需要一个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.

(你可以看到帖子末尾的完整输出)

如果我为mysql切换mariadb,就不会发生这种情况。

任何人都可以帮助我吗?

谢谢!

输出:

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

3 个答案:

答案 0 :(得分:1)

我在使用 Docker Hub 的 Maria_DB 官方镜像时遇到了同样的问题。 它在 maria_DB 10.5 版上运行过一次,但是当我降级到 10.3 时,我遇到了同样的错误。

错误是由前一个容器的体积引起的,您必须将其删除。

首先,停止容器(您可以使用 docker ps 获取 docker cotnainer id):

docker stop xxxxx

然后删除它:

docker rm xxxxx

最后,删除关联的容器:

docker volume ls
docker rm my_volume_name

您的容器现在应该可以毫无问题地重新启动。

答案 1 :(得分:0)

我不确定这应该是评论还是答案,但我不想达到字符限制所以......

主要回答@ tjheslin1,我怀疑它对其他人有用。

我现在已经有几个月没有使用docker了,但是在某些时候我确实设法使用这个代码:

https://github.com/MiquelAdell/mariadb-utf8mb4/blob/master/Dockerfile

我不确定是什么,我的环境目前有很多动人的东西。

我现在没有时间重新创建所述环境以提供更多帮助,但我不想让那些在那里绊倒的人永远等待。

我想我应该将这个问题视为没有答案,因为我很快就无法跟进。

抱歉: - \

答案 2 :(得分:0)

这对我有用

docker-compose up -d 

然后

docker-compose down -v

您可能需要杀死该卷并重新创建它。更多

https://linuxize.com/post/how-to-remove-docker-images-containers-volumes-and-networks/#removing-docker-volumes