환경
OS : CentOS7
DB : mysql-8.0.11, mysql-8.0.12 (8.0.11 이전에도 문제가 있었는지는 모르지만 아마 있을듯)
문제점
mysql 실행시 아래와 같은 메세지와 함께 실행 불가
# mysql.server start
Starting MySQL.2018-08-20T04:33:38.742995Z mysqld_safe error: log-error set to ‘/var/log/mysql/mysql_error.log’, however file don’t exists. Create writable for user ‘mysql’.
The server quit without updating PID file (/var/lib/mysql/myserver.pid).
원인
보통의 원인이라면
- 로그가 쌓여야 하는 위치(예제 : /var/log/mysql)가 존재하지 않을 경우
- 로그가 쌓여야 하는 위치의 권한이 mysql 유저가 “쓰기(write)” 가능하지 않을 경우
여야 하지만..
현재 시스템의 상황은 이런 문제가 있지 않음…
my.cnf 설정중
log_error
옵션을 손대지 않고 그대로 실행했을 경우는 문제가 없지만
log_error=/var/log/mysql/mysql_error.log
등으로 기본값이 아닌 “수정”이 이루어졌을 경우에 발생 하고 있음
해결
touch /var/log/mysql/mysql_error.log
chown mysql.mysql /var/log/mysql/mysql_error.log
이렇게 생성 & 권한부여 를 해주면 정상 구동이 됨…
듣는 사람은 당연히 황당 하겠지만…
지금 이 결과가 mysql-8.0.11, mysql-8.0.12 를 소스컴파일 설치 했을 때 발생 하는 문제점 임…
반면 slow 로그 설정의 경우는 기본값이 아닌 “수정”을 해도 문제 없이 실행 되고 있음