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

Miq*_*ell 5 mysql innodb mariadb docker

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

问题是我需要一个mariadb容器,我可以使用以下命令完美地运行它:

docker run -e MYSQL_ROOT_PASSWORD=my-secret-pw mariadb
Run Code Online (Sandbox Code Playgroud)

但它失败了以下docker-compose.yml文件:

wordpress_db:
  image: mariadb
  environment:
    - MYSQL_ROOT_PASSWORD=foo
Run Code Online (Sandbox Code Playgroud)

除其他外,它ouptuts:

wordpress_db_1 | 2016-01-11 14:33:25 140183257745344 [Note] InnoDB: The  InnoDB memory heap is disabled
Run Code Online (Sandbox Code Playgroud)

我能清楚地认识到的第一条消息是错误:

wordpress_db_1 | InnoDB: No valid checkpoint found.
Run Code Online (Sandbox Code Playgroud)

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

如果我为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
Run Code Online (Sandbox Code Playgroud)

Pau*_*gac 11

我对 Docker Hub 的 Maria_DB 官方镜像也有同样的问题。它曾经在 maria_DB 版本 10.5 上工作过,但是当我降级到 10.3 时,我遇到了同样的错误。

该错误是由于之前的容器的体积引起的,必须将其删除。

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

docker stop xxxxx
Run Code Online (Sandbox Code Playgroud)

然后删除它:

docker rm xxxxx
Run Code Online (Sandbox Code Playgroud)

最后,删除关联的卷:

docker volume ls
docker volume rm my_volume_name
Run Code Online (Sandbox Code Playgroud)

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


Isa*_*hne 5

这对我有用,

docker-compose up -d 
Run Code Online (Sandbox Code Playgroud)

然后

docker-compose down -v
Run Code Online (Sandbox Code Playgroud)

您可能需要终止该卷并重新创建它。更多关于,

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


Miq*_*ell 0

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

\n\n

主要是为了回答@tjheslin1,我怀疑这对其他人是否有任何用处。

\n\n

我已经好几个月没有使用 docker 了,但是在某些时候我确实设法使用以下代码来完成这项工作:

\n\n

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

\n\n

我不确定当时发生了什么,我现在的环境有很多变化。

\n\n

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

\n\n

我想我应该关闭这个未回答的问题,因为我无法很快跟进它。

\n\n

对不起 :-\\

\n