파일 - 윈도우 mysql 백업




MySQL의 변경 사항에 대한 테이블보기? (5)

MySQL에는 폴링 (polling)을 단순화하기 위해 특정 테이블을 생성하는 것보다 최선의 방법이 없다. 다른 데이터베이스에서는 데이터베이스 외부에 영향을 미치는 트리거를 가질 수있다. MySQL에서 트리거 는 데이터베이스 내부에서만 수행 할 수 있습니다 (예 : 도우미 테이블 채우기).

테이블에서 새로운 엔트리를 볼 때 더 좋은 방법이 있습니까?

외부 프로그램이 자주 업데이트되는 테이블이 있는데 클라이언트는이 새로운 데이터가 도착할 때이를 볼 수 있습니다. 반복 가능한 select 문을 고정 기간 설정하지 않고 어떻게 할 수 있습니까?


SQL을 충분히 안다면 ... 트리거와 알람을 작성할 수 있습니다.


또 다른 유사한 접근법은

add column Last_Modified TIMESTAMP ON UPDATE CURRENT_TIMESTAMP DEFAULT CURRENT_TIMESTAMP 

각 테이블로 이동하여 선택 쿼리를 시작하여 마지막 요청 날짜 / 시간을 max (Last_Modified)와 비교합니다.

데이터베이스는 대개 푸시 소스가 아니므로 푸시 프로그램이 아니므로 변경 사항을 프로그래밍 방식으로 검사해야합니다.


이것은 당신의 방법에 대한 작은 개선 일뿐입니다. Last_Changed 테이블을 업데이트하기 위해보고있는 테이블에 트리거를 작성하십시오.


호스트를 제어 할 수 있다면 데이터베이스 외부에서 동작을 트리거 할 수 있습니다.

A) 이 질문의 대답은 'select into outfile'을 사용하여 파일을 쓰는 것을 제안 합니다 (예 : node-inotify 또는 Grunt-watch 와 같은 inotify 기반 접근법으로 충분할 수도 있음)

B) 용감한 답변 : 이 질문에 대한 대답 은 데이터베이스 서버에 C / C ++ 애드온을 설치할 수있는 경우 사용자 정의 함수 (UDF)를 사용하여 sys_exec ()를 호출하고 외부 프로세스를 트리거 할 수 있다는 것을 지적합니다. 또는 아마도 실제 프로세스를 UDF에 직접 작성하십시오.

http://dev.mysql.com/doc/refman/5.0/en/faqs-triggers.html#qandaitem-B-5-1-11

(현재이 문제를 연구 중입니다. AWS RDS가 호스팅하는 애플리케이션의 경우 불행히도 이러한 옵션 중 어느 것도 적합하지 않습니다.)





database