Skip to Content
Go Back
안형우

안녕하세요. 14년차 풀스택 웹개발자 안형우입니다. 이 블로그에서는 WordPress, PHP, CSS, 사용성, 리눅스 서버 등 풀스택 웹개발에서 마주하는 다양한 문제 상황과 해결책, 필요한 개념들을 다룹니다. 👉 소개


작업물

📌 워드프레스, 답답한 빌더와 플러그인 대신 시원하게 커스터마징하기(강의) 2023-01-15
📌 아무도 말하지 않는 PHP의 좋은 점 2018-10-13
📌 유지보수하기 쉬운 CSS 전략(슬라이드) 2016-12-20
📌 워드프레스 테마에서 템플릿 파일 매칭 순서 2013-05-12
📌 [번역] CSS 코드 냄새 2013-01-01

MySQL PID 에러와 Can’t read from messagefile 에러

라즈베리 파이, 그러니까 뭐 데비안이라고 생각하면 되겠다. 거기서 마리아DB를 컴파일해서 깔았다가 생각이 바뀌어 mysql을 apt-get으로 깔고 다시 생각이 바뀌어 mysql을 삭제하고 다시 mariadb를 컴파일해 깔았다. 그런데 첫 컴파일 때는 잘 돌아가던 mariadb가 두 번째로 깔았을 땐 안 돌아가는 거 아닌가? 아래와 같은 에러 메시지를 뿜고 말이다.

The server quit without updating PID file (/var/run/mysqld/mysqld.pid). debian

졸라 헤맨 끝에 /var/log/syslog를 보니 제대로 된 에러 메시지를 찾을 수 있었다. 아래와 같은 에러 메시지를 뿜고 있었다.

[Warning] An old style --language or -lc-message-dir value with language specific part detected: /usr/share/mysql/
[Warning] Use --lc-messages-dir without language specific part instead.
[ERROR] Can't read from messagefile '/usr/share/mysql/errmsg.sys'
[ERROR] Aborting

일단 /usr/share/mysql/errmsg.sys 파일을 만들어 봤다. 아무 소용이 없었다. 검색을 막 때려 보니 ‘[ERROR] Can’t read from messagefile’라는 글이 있었다. my.cnf 파일에 특정 줄을 추가해 주라는 거였는데 난 지금 내 mariadb가 사용하는 my.cnf 파일이 어딨는지 모른단 말이다. 그래서 아래 명령으로 실행을 해 봤다. 제대로 작동했다.

/usr/local/mysql/bin/mysqld_safe --language=/usr/local/mysql/share --user=mysql

즉, --language=/usr/local/mysql/share 부분을 추가한 거다. /usr/local/mysql/shareenglishdutch며 하는 언어 파일들이 있었기 때문이다. /usr/local/mysql/share/english에 가 보니 errmsg.sys 파일도 있었다.

그러니까, 한 마디로 my.cnf 파일에 언어 폴더가 제대로 지정돼 있지 않아서 발생하는 에러였다고 정리할 수 있겠다. 근데 my.cnf에 설정할 때는 어떻게 하는 건지는 모르겠다;; 더 찾을 시간이 없어서 패스. 이정도면 도움이 됐겠지.

안녕하세요. 14년차 풀스택 웹개발자 안형우입니다. 이 블로그에서는 WordPress, PHP, CSS, 사용성, 리눅스 서버 등 풀스택 웹개발에서 마주하는 다양한 문제 상황과 해결책, 필요한 개념들을 다룹니다. 👉 소개


작업물

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다