CentOS 7 에서 Mariadb 서버 구동시 Job for mariadb 오류 > 개발

본문 바로가기
사이트 내 전체검색

개발

CentOS 7 에서 Mariadb 서버 구동시 Job for mariadb 오류

페이지 정보

profile_image
작성자 관리자 (61.♡.222.236)
댓글 0건 조회 5,702회 작성일 19-05-14 21:57

본문

센토스 7 에서 마리아디비 서버를 구동시에 오류가 발생한다.


ㅁ 증상

# service mariadb start
Job for mariadb.service failed because the control process exited with error code. See ‘systemctl status mariadb.service‘ and ‘journalctl -xn’ for details.

# systemctl status mariadb
시키는 대로 마리아디비의 상태를 확인해 보면,
Failed to start MariaDB database server. 라는 것만 나오고, 딱히 원인이 뭔지는 나오지 않는다.


ㅁ 데이타 폴더에 있는 ib_logfile0 , ib_logfile1 , ibdata1 파일 삭제

일단 해결 방법을 찾아보니, mysql data 폴더에 있는 아래 파일 3개를 삭제하라고 한다.
# cd /var/lib/mysql
ib_logfile0
ib_logfile1
ibdata1

해당 파일들을 삭제하고, 다시 마리아디비를 구동해 본다.
# service mariadb start
Job for mariadb.service failed because the control process exited with error code. See ‘systemctl status mariadb.service‘ and ‘journalctl -xn’ for details.

동일한 문제가 발생하고, 뭔가 해결이 안된 듯 하다.


ㅁ mariadb 로그파일 점검

마리아 디비의 로그파일은 /var/log/mariadb/mariadb.log 파일이다.
# vi /var/log/mariadb/mariadb.log

로그를 보면, 디비가 실행되는 중간에 InnoDB 관련해서 ERROR 가 있다.
InnoDB: Initializing buffer pool, size = 128.0M
InnoDB: mmap(137756672 bytes) failed; errno 12
InnoDB: Fatal error: cannot allocate memory for the buffer pool


ㅁ 해결방법

InnoDB 의 buffer pool size 의 기본값은 128M 이다.
시스템의 물리적 메모리가 적을 경우, 사용 가능한 버퍼풀에 문제가 생기는 모양이다.
디비는 스왑메모리를 사용하지 않는다고 한다.

디비 설정파일에서 버퍼풀 값을 줄여 보자.
CentOS 7 의 mariadb  의 설정파일은 아래와 같다.
/etc/my.cnf
/etc/my.cnf.d/*

/etc/my.cnf.d/server.cnf 파일의 [mysqld] 섹션에 아래를 추가하자.
innodb_buffer_pool_size = 64M

버퍼풀 사이즈를 반으로 줄이고, mariadb 를 재시작 한다.
# service mariadb start

일단, 오류는 나지 않는 듯 하다.
만약 같은 오류가 반복된다면, 버퍼풀 사이즈를 더 줄여 보자.



참고
http://www.mcnorton.com/csLab/886317
https://idchowto.com/?p=11107
https://www.happyjung.com:6001/lecture/2808

추천0

댓글목록

등록된 댓글이 없습니다.

Total 386건 10 페이지
  • RSS

검색


사이트 정보

Copyright © Baragi.Net. All rights reserved.