MySQL의 마지막 실행 쿼리를 라이브 피드 형식으로 보는 방법은 무엇입니까?
터미널 창을 열어두고 싶습니다. 뭔가를 실행할 때마다 MySQL 쿼리가 화면에 나타납니다. tail 명령을 사용하여 이 작업을 수행할 수 있다는 것을 알고 있지만 MySQL 로그가 어디에 저장되어 있는지 잘 모르겠습니다. mysqladmin proc을 실행할 수도 있지만 지속적인 실시간 피드백을 제공하지는 않습니다.
답변1
여기에는 몇 가지 옵션이 있습니다. 다음을 추가하여 MySQL에 대한 일반 쿼리 로깅을 활성화할 수 있습니다.
log = /path/to/your/log.log
my.cnf(보통 /etc/my.cnf)로 복사하고 재부팅하세요. 그런 다음 필요에 따라 꼬리를 달 수 있습니다. 시간이 지남에 따라 로그가 상당히 커질 수 있으므로 반드시 이 작업을 수행하는 것을 권장하지는 않습니다.
언급했듯이 두 번째 옵션은 mysqladmin proc과 함께 watch를 사용하는 것입니다. 예를 들어 다음을 사용할 수 있습니다.
watch -n.5 'mysqladmin proc stat'
0.5초마다 프로세스 목록과 상태를 보여줍니다. 특정 요구 사항에 맞게 -n.5를 변경할 수 있습니다. (때때로 도움이 될 수 있는 추가 정보를 제공하기 위해 줄에 stat를 추가하는 것을 선호합니다.)
답변2
모든 쿼리는 시스템의 ".mysqlhistory"라는 파일에 기록됩니다. 다음 명령을 실행하여 데이터베이스에서 실행 중인 쿼리를 사전에 볼 수 있습니다.
찾기/-이름 ".mysqlhistory" -exec 'tail -f'