> 데이터 베이스 > MySQL 튜토리얼 > 안전하고 효율적인 데이터베이스 유지 관리를 위해 MySQL 쿼리 실행을 cron 작업으로 자동화하려면 어떻게 해야 합니까?

안전하고 효율적인 데이터베이스 유지 관리를 위해 MySQL 쿼리 실행을 cron 작업으로 자동화하려면 어떻게 해야 합니까?

Barbara Streisand
풀어 주다: 2024-11-22 09:19:11
원래의
761명이 탐색했습니다.

How can I automate MySQL query execution as cron jobs for secure and efficient database maintenance?

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿