반응형
MariaDB 도커 시작 실패
도커 1.13.1로 MariaDB를 시작하려고 합니다.
docker run -d --name mariadb -e MYSQL_ROOT_PASSWORD=password -p 3306:3306 -p 4567:4567/udp -p 4567-4568:4567-4568 -p 4444:4444 -v /mnt/data/mysql:/var/lib/mysql mariadb:10.1 chown -R mysql:mysql /var/lib/mysql && mysqld --user=mysql --wsrep-new-cluster
시작 후 다음과 같은 출력이 표시됩니다.
2017-05-11 20:04:55 139780804880320 [Note] mysqld (mysqld 10.1.23-MariaDB-1~jessie) starting as process 6 ...
2017-05-11 20:04:55 139780804880320 [Note] InnoDB: Using mutexes to ref count buffer pool pages
2017-05-11 20:04:55 139780804880320 [Note] InnoDB: The InnoDB memory heap is disabled
2017-05-11 20:04:55 139780804880320 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
2017-05-11 20:04:55 139780804880320 [Note] InnoDB: GCC builtin __atomic_thread_fence() is used for memory barrier
2017-05-11 20:04:55 139780804880320 [Note] InnoDB: Compressed tables use zlib 1.2.8
2017-05-11 20:04:55 139780804880320 [Note] InnoDB: Using Linux native AIO
2017-05-11 20:04:55 139780804880320 [Note] InnoDB: Using SSE crc32 instructions
2017-05-11 20:04:55 139780804880320 [Note] InnoDB: Initializing buffer pool, size = 256.0M
2017-05-11 20:04:55 139780804880320 [Note] InnoDB: Completed initialization of buffer pool
2017-05-11 20:04:55 139780804880320 [Note] InnoDB: The first specified data file ./ibdata1 did not exist: a new database to be created!
2017-05-11 20:04:55 139780804880320 [Note] InnoDB: Setting file ./ibdata1 size to 12 MB
2017-05-11 20:04:55 139780804880320 [Note] InnoDB: Setting log file ./ib_logfile101 size to 48 MB
2017-05-11 20:04:55 139780804880320 [Note] InnoDB: Setting log file ./ib_logfile1 size to 48 MB
2017-05-11 20:04:56 139780804880320 [Note] InnoDB: Renaming log file ./ib_logfile101 to ./ib_logfile0
2017-05-11 20:04:56 139780804880320 [Warning] InnoDB: New log files created, LSN=45883
2017-05-11 20:04:56 139780804880320 [Note] InnoDB: Doublewrite buffer not found: creating new
2017-05-11 20:04:56 139780804880320 [Note] InnoDB: Doublewrite buffer created
2017-05-11 20:04:56 139780804880320 [Note] InnoDB: 128 rollback segment(s) are active.
2017-05-11 20:04:56 139780804880320 [Warning] InnoDB: Creating foreign key constraint system tables.
2017-05-11 20:04:56 139780804880320 [Note] InnoDB: Foreign key constraint system tables created
2017-05-11 20:04:56 139780804880320 [Note] InnoDB: Creating tablespace and datafile system tables.
2017-05-11 20:04:56 139780804880320 [Note] InnoDB: Tablespace and datafile system tables created.
2017-05-11 20:04:56 139780804880320 [Note] InnoDB: Waiting for purge to start
2017-05-11 20:04:56 139780804880320 [Note] InnoDB: Percona XtraDB (http://www.percona.com) 5.6.35-80.0 started; log sequence number 0
2017-05-11 20:04:56 139780029413120 [Note] InnoDB: Dumping buffer pool(s) not yet started
2017-05-11 20:04:56 139780804880320 [Note] Plugin 'FEEDBACK' is disabled.
2017-05-11 20:04:56 139780804880320 [ERROR] Could not open mysql.plugin table. Some plugins may be not loaded
2017-05-11 20:04:56 139780804880320 [ERROR] Can't open and lock privilege tables: Table 'mysql.servers' doesn't exist
2017-05-11 20:04:56 139780804880320 [Note] Server socket created on IP: '::'.
2017-05-11 20:04:56 139780804880320 [ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.user' doesn't exist
mysql 사용자가 디렉토리를 소유하고 있으며 ibdata1 및 관련 파일을 생성할 수 있습니다.다른 테이블을 만드는 데 실패했는지 또는 왜 읽지 못하는지 알 수 없습니다.
수정:
docker run -d --name mariadb -e MYSQL_ROOT_PASSWORD=password -p 3306:3306 -p 4567:4567/udp -p 4567-4568:4567-4568 -p 4444:4444 -v /mnt/data/mysql:/var/lib/mysql mariadb:10.1 /bin/bash -c 'chown -R mysql:mysql /var/lib/mysql && mysqld --user=mysql --wsrep-new-cluster'
문제는 그 이후의 모든 것들이&&
에 대한 인수로 적절하게 인용되지 않는 한 컨테이너 내부에서 명령줄로 삽입되지 않고 호스트 셸 외부에 삽입됩니다.-c
/bin/ssh 옵션(/bin/sh도 유효함).
도커 이미지의 엔트리 포인트의 일부로 실행된 시작 스크립트에서 이 문제를 해결했습니다.
chmod -R ug+rw /var/lib/mysql
chown -R mysql:mysql /var/lib/mysql
service mysql start
이렇게 하면 모든 볼륨 마운트를 피할 수 있고 일반 컨테이너에서 읽기-쓰기 계층을 사용할 수 있습니다.이것은 오픈 소스 프로젝트를 위한 개발자 컨테이너를 만들고 있기 때문에 저는 제 개발자들이 사용할 수 있는 올인원 컨테이너를 만들려고 합니다.이 문제를 해결할 수 있는 더 깨끗한 방법이 있을 수도 있지만, 저에게는 효과가 있었습니다.
언급URL : https://stackoverflow.com/questions/43924885/mariadb-docker-start-fails
반응형
'programing' 카테고리의 다른 글
UPDATE를 사용하여 장시간 실행 중인 SELECT가 데이터베이스를 잠급니다. (0) | 2023.07.30 |
---|---|
W3C DOM을 통해 HTML 문서 전체를 대체하기 위한 다른 옵션은 무엇입니까? (0) | 2023.07.30 |
스웨거 주석이 있는 스웨거에서 설명과 예제를 설정하려면 어떻게 해야 합니까? (0) | 2023.07.30 |
하위 쿼리가 있는 HAVING 절에 사용된 비그룹화 필드 (0) | 2023.07.30 |
Spring 통합 테스트는 많은 메모리를 소비하고 GradleWorkerMain에서 많은 수의 중복 스레드를 사용합니다. (0) | 2023.07.30 |