13. MySQL 이 알수없는 에러로 Restart 된 경우 1
1. 서버 문제 발생
MySQL이 Restart가 되었다는 사실을 확인함.
2. 들어가 확인하니 MySQL은 떠있고, 에러로그에 다시 재시작한 로그만 있음.
InnoDB: Warning: a long semaphore wait:
150127 20:41:14 mysqld_safe Number of processes running now: 0
150127 20:41:14 mysqld_safe mysqld restarted
3. 확인해야 하는 사항
프로세스 문제 없는지 확인 (로긴 되는지 확인, 접속한 세션들 확인)
리플리케이션 문제 없는지 확인
서버 uptime 확인
--------------------> 확인해 보니...MySQL의 문제가 없음을 확인
4. 그러면 왜?
4.1 에러 로그를 다시 보자.
InnoDB: Warning: a long semaphore wait: <--- 뭔가 문제가 있었음......
150127 20:41:14 mysqld_safe Number of processes running now: 0 <---- mysqld 프로세스가 다 사라짐.
150127 20:41:14 mysqld_safe mysqld restarted <----- mysqld_safe가 그것을 감지하고 다시 재시작함.
4.2 OS 로그를 확인해 보자.
/var/log/messages
Jan 27 20:36:35 xxx kernel: Call Trace:
Jan 27 20:41:13 xxx kernel: [<ffffffff800c95e5>] out_of_memory+0x8e/0x2f3
Jan 27 20:41:13 xxx kernel: [<ffffffff8002e261>] __wake_up+0x38/0x4f
Jan 27 20:41:13 xxx kernel: [<ffffffff8000f569>] __alloc_pages+0x27f/0x308
Jan 27 20:41:13 xxx kernel: [<ffffffff80012f32>] __do_page_cache_readahead+0x96/0x179
Jan 27 20:41:13 xxx kernel: [<ffffffff8001386d>] filemap_nopage+0x14c/0x360
Jan 27 20:41:13 xxx kernel: [<ffffffff8000895e>] __handle_mm_fault+0x1fb/0x1039
Jan 27 20:41:13 xxx kernel: [<ffffffff8006720b>] do_page_fault+0x4cb/0x874
Jan 27 20:41:13 xxx kernel: [<ffffffff8001ce41>] vma_link+0x70/0xfd
Jan 27 20:41:13 xxx kernel: [<ffffffff8000e1e9>] do_mmap_pgoff+0x615/0x780
Jan 27 20:41:13 xxx kernel: [<ffffffff8005dde9>] error_exit+0x0/0x84
즉, Out of Memory를 확인하고 OS가 mysqld 프로세스를 죽였고, mysqld_safe가 그것을 감지하고 다시 재시작을 한 경우입니다.