Cron 작업으로 MySQL 쿼리 실행: 안전하고 자동화된 접근 방식
예약된 작업은 데이터베이스를 유지하는 데 필수적일 수 있습니다. 그러한 작업 중 하나는 MySQL 데이터베이스에서 오래된 항목을 제거하는 것입니다. 그러나 매일 밤 수동으로 쿼리를 실행하고 매번 비밀번호를 입력해야 하는 것은 번거로울 수 있습니다. 이 기사에서는 MySQL 쿼리 실행을 cron 작업으로 자동화하는 더 간단하고 안전한 방법에 대해 설명합니다.
MySQL 이벤트 스케줄러 사용(선호 방법)
권장되는 접근 방식은 다음을 활용하는 것입니다. MySQL에 내장된 이벤트 스케줄러로 외부 스크립트가 필요하지 않습니다. 활성화하려면:
SET GLOBAL event_scheduler = ON;
다음으로 원하는 쿼리를 예약된 방식으로 실행하는 이벤트를 만듭니다.
CREATE EVENT name_of_event ON SCHEDULE EVERY 1 DAY STARTS '2014-01-18 00:00:00' DO DELETE FROM tbl_message WHERE DATEDIFF( NOW( ) , timestamp ) >=7;
Cron을 통해 PHP 파일 실행(대체 방법)
이벤트 스케줄러가 옵션이 아닌 경우 대안은 cron에서 PHP 파일을 실행하도록 하는 것입니다. 이 방법을 사용하려면 필요한 자격 증명이 포함된 PHP 스크립트가 필요합니다. 무단 액세스로부터 스크립트를 보호하십시오. 예는 다음과 같습니다.
<?php $servername = "localhost"; $username = "root"; $password = "mypassword"; $dbname = "myDB"; // Create connection $conn = new mysqli($servername, $username, $password, $dbname); // Check connection if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } // Execute query $sql = "DELETE FROM tbl_message WHERE DATEDIFF( NOW( ) , timestamp ) >=7"; $conn->query($sql); // Close connection $conn->close(); ?>
마지막으로 PHP 스크립트를 작업으로 실행하도록 cron을 구성합니다. cron이 스크립트를 실행할 수 있도록 적절한 권한을 설정하는 것을 잊지 마세요.
위 내용은 안전하고 효율적인 데이터베이스 유지 관리를 위해 MySQL 쿼리 실행을 cron 작업으로 자동화하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!