phpmyadmin으로 과거 mysql 쿼리를 볼 수있는 방법이 있습니까?


111

mysql테이블 에서 행을 삭제하는 버그를 추적하려고 합니다.

내 삶을 위해 나는 내 PHP코드 에서 그것을 추적 할 수 없으므로 행을 제거하는 실제 mysql 쿼리를 찾아서 거꾸로 작업하고 싶습니다.

phpmyadmin에 로그인했지만 과거 SQL 작업 기록을 볼 수있는 방법을 찾을 수 없습니다.

phpmyadmin에서 볼 수있는 방법이 있습니까?


2
코드에서 DELETE명령문 을 검색 하고 그런 방식으로 디버깅 할 수 없습니까?
webbiedave 2010

baol과 webbiedave를 들어보세요. 쿼리 로깅을 활성화하여 진행 상황을 확인해야하지만 코드에서 SQL 문이 어디에서 오는지 여전히 찾아야합니다. "삭제"를 시작하십시오 . 프로젝트에 delete 문 많을 수는 없습니다 .
joeynelson 2010

그래, 나는 실제로 삭제를 위해 grepping으로 시작했지만, 내 눈은 b / c 위에 광택이 있어야합니다. 어떤 삭제도 문제가되지 않는 것 같습니다 ... 그래서 쿼리 로그가 도움이되기를 바랍니다. 당신의 도움에 감사드립니다.
chris1979

뿐만 아니라 삭제를 할 수있는 데이터베이스의 모든 트리거를 확인
마크 베이커에게

답변:


107

좋아, 실제로 답을 우연히 발견했습니다.

phpMyAdmin은 간략한 역사를 제공합니다. 'phpMyAdmin'로고 바로 아래에있는 'sql'아이콘을 클릭하면 새 창이 열립니다. 새 창에서 '기록'탭을 클릭하십시오.

그러면 마지막 20 개 정도의 SQL 작업이 제공됩니다.

여기에 이미지 설명 입력


2
더 많이 절약하기 위해 phpMyadmin을 구성 할 수 있습니다. 지난 100000 개의 쿼리를 저장하도록 설정했습니다.
Mixologic

하지만 ... 데이터베이스를 업데이트 (예 : 이전 버전로드) 할 때마다 기록이 손실됩니다 (따라서 데이터베이스를 다시 설치하여 기록을 확인할 수 없습니다)
JinSnow

1
인덱스 변경 사항을 기록하지 않으며, 실행시 제대로 기록하지 않기 때문에 정확히 유용 할 것
입니다.

56
이 SQL 아이콘이 보이지 않습니다. 현재 버전에서 어디에 있습니까?
조셉 아스트라한

3
@JosephAstrahan Query window옆에 있는 아이콘을 클릭Home
amallard

63

콘솔 의 맨 아래에있는 탭 SQL (쿼리) 화면. 기본적으로 확장되지 않지만 일단 클릭하면 옵션, 기록 및 지우기 탭이 표시 됩니다. 역사를 클릭하십시오.

쿼리 역사 길이 내에서 설정 페이지 관련 설정 화면의 상단 오른쪽에있는 기어 휠을 클릭하여 발견했다.

이것은 PHP 버전 4.5.1-1에 적합합니다.


6
길이는 이제 홈 | 설정 | SQL 쿼리 | 쿼리 기록 길이 . 그리고 놀랍게도 "값은 25보다 작거나 같아야합니다!"
Bob Stein

37

phpMyAdmin 의 화면 하단에있는 콘솔을 클릭하기 만하면 실행 내역이 표시됩니다.

여기에 이미지 설명 입력


수락 된 답변에서 페이지를 찾을 수 없었습니다 (다른 버전의 것일 수도 있음). 이것은 저에게 효과적이었습니다. 감사합니다.
felwithe

4
사용자가 phpmyadmin직접 실행 한 쿼리 만 표시됩니다 . 수행 된 모든 쿼리의 전체 레코드를 표시하지는 않습니다.
Fusion

12

과거 쿼리를 보려면 phpMyAdmin에서이 쿼리를 실행하면됩니다.

SELECT * FROM `general_log`

활성화되지 않은 경우 실행하기 전에 다음 두 쿼리를 실행하십시오.

SET GLOBAL log_output = 'TABLE';
SET GLOBAL general_log = 'ON';

7
매우 유용합니다. 감사합니다. 다른 사람에게 SELECT * FROM general_log은 mysql 테이블 내에서 쿼리해야합니다. 그렇지 않으면 tablename : SELECT * FROM mysql을 포함해야합니다. general_log
siggi_pop

9

나는 phpMyAdmin이 그렇게 할 수 있다고 생각하지 않지만 내가 틀렸다고 듣고 싶습니다.

반면에 MySQL에서 쿼리 로깅을 활성화 할 수 있습니다 . 일반 쿼리 로그



6

phpMyAdmin Server 버전 : 5.1.41을 사용하고 있습니다.

phpmyadmin.pma_history테이블을 통해 SQL 이력을 볼 수있는 가능성을 제공 합니다.

이 테이블에서 쿼리를 검색 할 수 있습니다.

pma_history 테이블 구조는 다음과 같습니다.

여기에 이미지 설명 입력


3

phpMyAdmin 로고 바로 아래에있는 쿼리 창을 클릭해야 새 창이 열립니다. SQL 기록 탭을 클릭하기 만하면됩니다. 여기에서 SQL 쿼리 기록을 볼 수 있습니다.


2

내가 틀렸을 수도 있지만 phpmyadmin 세션에 대한 세션 파일에서 이전 SQL 쿼리 목록을 본 적이 있다고 생각합니다.


죄송합니다 ... 귀하의 질문을 잘못 읽었습니다. 세션의 목록은 phpmyadmin을 통해 발행 된 이전 명령문 목록이므로 사용자의 PHP 스크립트에서 발행 한 SQL 명령문이 포함되어 있지 않으므로 도움이되지 않을 것입니다.
Mark Baker

1

좋습니다. 조금 늦었고 위의 답변 중 일부는 훌륭한 것입니다.

PHPMyAdmin 페이지에서 약간의 추가 정보 :

  1. SQL 탭을 클릭하십시오.
  2. '자동 저장된 쿼리 가져 오기'를 클릭합니다.

그러면 마지막으로 입력 한 쿼리가 표시됩니다.


0

/PATH_PAST_MYSQL/bin/mysqld.exe를 실행하여 과거 mysql을 실행할 수 있습니다.

마지막 mysql을 실행하고 phpmyadmin 및 시스템의 다른 섹션에서 볼 수 있습니다.

주의 : 현재 mysql 버전을 중지하십시오.

SF 내 영어.


0

내보내기를 사용하지 않는 이유는 무엇입니까? '사용자 정의-가능한 모든 옵션 표시'라디오 버튼을 클릭 한 다음 데이터베이스를 선택한 다음 출력으로 이동하여 '텍스트로 출력보기'를 선택하고 아래로 스크롤하고 이동하십시오. 짜잔!


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.