본문 바로가기

프로그래밍

MySQL 주기적 Optimize 자동화

반응형

방법1) CRON 등록

mysqlcheck -u %MYSQL_USER% -p%MYSQL_PW% --auto-repair --optimize --all-databases

0 1 * * *  mysqlcheck -u root -p --auto-repair --optimize --all-databases > /dev/null

 

방법2) PHP 사용

crond에 등록하는 경우 mysql 비번이 노출되는 단점이 있는데.
php 스크립트로 만들어서 crond에 등록하면 되겠다~

 

# 매주 일요일 4시에 실행

00 04 * * 6 /home/wwwt/mysql_optimize.php > /dev/null 2>&1 

 

#!/usr/bin/php

<?php

//include_once("common.php");

require dirname(__FILE__) . '/common.php';

 

$alltables = sql_query("SHOW TABLES;");

 

// record the output

$output = array();

 

while($table = sql_fetch_array($alltables)){

	foreach($table as $db => $tablename){

		$sql = 'OPTIMIZE TABLE '.$tablename.';';

		$response = sql_query($sql) or die(mysql_error());

		$output[] = sql_fetch_array($response);

	};

};

//print_r($output);

?>

 

반응형

'프로그래밍' 카테고리의 다른 글

PHP 날짜형식 DATA ATOM  (0) 2021.07.04
PHP try - catch 문  (0) 2021.07.03
PHP IF문 축약형  (0) 2021.06.26
자바 JDK 설치 환경변수 설정방법  (0) 2016.03.11
이클립스에서 SDK 매니저, AVD 버튼 안보일때 해결법  (0) 2016.02.17