![이전에 실행한 MySQL 쿼리 목록을 라이브 피드 형식으로 보려면 어떻게 해야 합니까?](https://linux55.com/image/31453/%EC%9D%B4%EC%A0%84%EC%97%90%20%EC%8B%A4%ED%96%89%ED%95%9C%20MySQL%20%EC%BF%BC%EB%A6%AC%20%EB%AA%A9%EB%A1%9D%EC%9D%84%20%EB%9D%BC%EC%9D%B4%EB%B8%8C%20%ED%94%BC%EB%93%9C%20%ED%98%95%EC%8B%9D%EC%9C%BC%EB%A1%9C%20%EB%B3%B4%EB%A0%A4%EB%A9%B4%20%EC%96%B4%EB%96%BB%EA%B2%8C%20%ED%95%B4%EC%95%BC%20%ED%95%A9%EB%8B%88%EA%B9%8C%3F.png)
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'