programing

도커 이미지의 mariadb에서 InnoDB 오류 발생

kingscode 2022. 9. 20. 23:18
반응형

도커 이미지의 mariadb에서 InnoDB 오류 발생

아주 이상한 오류가 있어요.매우 간단한 케이스로 정리할 수 있었습니다만, 버그를 발견했는지, 부족한 점이 있는지 알 수 없습니다.

중요한 것은 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

나도 마리아랑 같은 문제가 있었어도커 허브의 DB 공식 이미지마리아랑도 한 번 먹혔어요.DB 버전 10.5인데 10.3으로 다운그레이드 했을 때도 같은 오류가 발생하였습니다.

이전 컨테이너의 볼륨 때문에 발생한 오류이므로 삭제해야 합니다.

먼저 컨테이너를 정지합니다(도커 ps를 사용하여 도커 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/ #docker-docker-http://https://linuxize.com/post/how-to-remove-docker-images-containers-volumes-and-networks/ 를 참조하십시오.

이게 댓글인지 답변인지 잘 모르겠지만 글자 수 제한에 도달하고 싶지 않아서...

주로 @tjheslin1이라고 대답하는데, 다른 사람에게 도움이 될 것 같지는 않다.

도커를 사용한 지 몇 개월이 지났습니다만, 어느 시점에서는, 이 코드로 이 작업을 실시할 수 있었습니다.

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

나는 그때 무엇이 있었는지 그리고 나의 환경은 많은 움직이는 조각들을 가지고 있었다.

나는 지금 더 많은 지원을 제공하기 위해 해당 환경을 재현할 시간은 없지만 그곳에서 비틀거리는 사람들을 영원히 기다리게 하고 싶지는 않다.

조만간 후속 조치를 할 수 없기 때문에 답변이 없는 질문으로 마무리해야 할 것 같습니다.

죄송합니다:-\

언급URL : https://stackoverflow.com/questions/34724156/innodb-error-on-mariadb-oficial-docker-image

반응형