이전에 실행한 MySQL 쿼리 목록을 라이브 피드 형식으로 보려면 어떻게 해야 합니까?

이전에 실행한 MySQL 쿼리 목록을 라이브 피드 형식으로 보려면 어떻게 해야 합니까?

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'

관련 정보