簡體   English   中英

mariadb 官方 docker 映像上的 InnoDB 錯誤

[英]InnoDB error on mariadb oficial docker image

我有一個非常奇怪的錯誤。 我已經能夠將其歸結為一個非常簡單的案例,我不知道我是否發現了一個錯誤或者我是否遺漏了一些要點。

問題是我需要一個 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

我對來自 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 volume rm my_volume_name

您的容器現在應該重新啟動而不會出現問題。

這對我有用,

docker-compose up -d 

然后

docker-compose down -v

您可能需要終止該卷並重新創建它。 更多關於,

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

我不確定這應該是評論還是答案,但我不想達到字符數限制,所以......

主要是回答@tjheslin1,我懷疑它對其他人有什么用處。

我已經有好幾個月沒有使用 docker 了,但是在某些時候我確實設法使用以下代碼完成了這項工作:

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

我不確定是什么,我現在的環境有很多動人的部分。

我現在沒有時間重新創建上述環境以提供更多幫助,但我不想讓那些絆倒在那里的人永遠等待。

我想我應該關閉這個沒有答案的問題,因為我將無法很快跟進它。

對不起 :-\

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM