[英]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
您可能需要終止該卷並重新創建它。 更多關於,
我不確定這應該是評論還是答案,但我不想達到字符數限制,所以......
主要是回答@tjheslin1,我懷疑它對其他人有什么用處。
我已經有好幾個月沒有使用 docker 了,但是在某些時候我確實設法使用以下代碼完成了這項工作:
https://github.com/MiquelAdell/mariadb-utf8mb4/blob/master/Dockerfile
我不確定是什么,我現在的環境有很多動人的部分。
我現在沒有時間重新創建上述環境以提供更多幫助,但我不想讓那些絆倒在那里的人永遠等待。
我想我應該關閉這個沒有答案的問題,因為我將無法很快跟進它。
對不起 :-\
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.