MySQL이 실행되는 동안 MySQL의 느린 쿼리 로그를 자르는 가장 안전한 방법은 무엇입니까? 안전으로MySQL에서 느린 쿼리 로그 잘림
말 :
이- 에 관계없이 파일을 자르려면
- 가 추가
MySQL이 실행되는 동안 MySQL의 느린 쿼리 로그를 자르는 가장 안전한 방법은 무엇입니까? 안전으로MySQL에서 느린 쿼리 로그 잘림
말 :
이에 원래 크기 다음에 다시 이동하지 않아야 어떤 권한 문제가 발생하지 않아야 실행중인 응용 프로그램에서 열려있는 경우 :
> /var/logs/your.log
쉘 프롬프트에서 수행하십시오.
는 :
새 로그를 열 것입니다 로그를 플러시 mysqld를 얘기 한 후, 열린 파일을 이동할 수 있습니다.
shell> cd mysql-data-directory
shell> mv mysql.log mysql.old
shell> mv mysql-slow.log mysql-slow.old
shell> mysqladmin flush-logs
필자는 철저히 조사하지는 않았지만이 접근 방식은 로그 항목 중간에서 잘릴 수 있으므로 로그 파일에 오류가 발생합니까? 나는이 솔루션을 좋아한다. (특히 일반적인 리눅스 지식에 추가하는 것이 좋다.) 그러나 내가 볼 수있는 것에서는 @ tjanofsky의 솔루션이 더 강력하다. – rinogo
@rinogo : 좋은 질문입니다. 단일'write()'시스템 콜이 다른 시스템과 인터리브 될 수 있는지 확인해야 할 것이다. OTOH, 나는 로거가 하나의'write()'를 사용하여 로그 할 줄을 작성하는 것을 기대하지 않을 것이다. – vartec
그건 사실이야! 그러나, MySQL의 느린 쿼리 로그의 경우 각 "항목"이 실제로 여러 줄임을 명심해야한다. 따라서 최악의 시나리오에서는 각 "항목"이 실제로 여러 개의 write() 호출로 구성 될 수 있습니다.이 호출은이 문제에 훨씬 취약한 시나리오를 나타냅니다. – rinogo