종료 중에 MariaDB가 멈췄을 때 수정하는 방법(page_cleaner를 기다리는 중)?

종료 중에 MariaDB가 멈췄을 때 수정하는 방법(page_cleaner를 기다리는 중)?

저는 Arch Linux(Manjaro)에서 MariaDB(v 10.3.13)를 실행하고 있습니다. 지난 몇 달 동안은 정상적으로 작동했지만 이제 몇 가지 문제가 있습니다. 컴퓨터를 재부팅하려고 하면 멈춥니다.

A stop job is running for MariaDB 10.3.13 database server

걸리는 시간은 최종적으로 시간이 초과될 때까지(약 20분 후) 매분마다 늘어납니다.

MariaDB를 수동으로 중지하는 것도 다시 시작/중지하려고 할 때 중단됩니다.

sudo systemctl stop/restart mariadb

sudo systemctl status mariadb그런 다음 쇼를 실행

/usr/bin/mysqld (initiated by: unknown): Normal shutdown
Event Scheduler: Purging the queue. 0 events
InnoDB: FTS optimize thread exiting.
InnoDB: Starting shutdown...
InnoDB: Dumping buffer pool(s) to /var/lib/mysql/ib_buffer_pool
InnoDB: Buffer pool(s) dump completed at 190402 20:31:01
InnoDB: Waiting for page_cleaner to finish flushing of buffer pool 

매분마다 다른 줄이 InnoDB: Waiting for page_cleaner to finish flushing of buffer pool추가됩니다.

MariaDB를 재설정하는 방법이 있습니까? 아니면 문제가 무엇인지 더 많은 정보를 얻을 수 있는 방법이 있습니까?

추신: 최근 패키지 관리자를 통해 일부 업데이트를 설치한 후 처음으로 문제를 발견했습니다.

업데이트:

MariaDB를 제거하고 재부팅하고 다시 설치하면 문제 없이 MariaDB를 중지/다시 시작할 수 있으며 문제 없이 종료됩니다. 그러나 다시 부팅한 후에는 위에서 설명한 문제가 다시 발생합니다.

답변1

몇 시간 동안의 고민 끝에 마침내 문제를 해결할 수 있었습니다.

timedatectl set-local-rtc 1원인은 Win10으로 듀얼부팅을 할 때의 시간설정( )이었습니다 .

최근 시간 변경으로 인해 시계가 엉망이 되었습니다. (상태 로그 항목은 sudo systemctl status mariadb1시간 후의 미래였습니다)

환경

timedatectl set-local-rtc 0

재부팅하면 해결되었습니다.

답변2

TimeoutSec=300또한 mysql 시작 서비스 구성 파일에서 시간 초과 값(5분)을 더 낮은 시간 초과 값 으로 변경하고 줄일 수 있습니다 .

vi /usr/lib/systemd/system/mariadb.service

### after editing timout value in above config file you can apply it by using:
systemctl daemon-reload

메모: 이건 고쳐진 게 아니야또는 이 문제에 대한 해결책. 서비스 종료 시간 초과 값을 줄입니다. OS 및 서비스에서 발생한 상황이나 버그를 기반으로 올바른 솔루션을 찾고, 문제가 해결된 후 시간 초과를 기본 권장 값으로 되돌리는 것을 고려해야 합니다.

관련 정보