phpMyAdmin에는 전체 테이블 (또는 데이터베이스)을 .SQL 파일로 내보내는 옵션이 있습니다.SQL 데이터베이스 내보내기
나는 데이터베이스를 매일 및 매주 백업하기 위해 CRON 작업을하고 싶기 때문에 이러한 작업을 수행 할 수 없습니다. 그러나 그것을하는 단일 명령이없는 것 같습니다 - 거기 있습니까?
phpMyAdmin에는 전체 테이블 (또는 데이터베이스)을 .SQL 파일로 내보내는 옵션이 있습니다.SQL 데이터베이스 내보내기
나는 데이터베이스를 매일 및 매주 백업하기 위해 CRON 작업을하고 싶기 때문에 이러한 작업을 수행 할 수 없습니다. 그러나 그것을하는 단일 명령이없는 것 같습니다 - 거기 있습니까?
사용 mysqldump를 참조하십시오. 일부 설정에 따라 사용자와 암호가 선택적 일 수도 있습니다. 당신은, 당신은 PHP와 이러한 명령을 실행할 수 날짜 이름을
mysqldump -h hostname -u root mydb > /path/to/backup/$(date +%a)
그래, mysqldump는 : http://linuxcommand.org/man_pages/mysqldump1.html
당신은하지만 그것을 사용하는 서버 액세스가 필요합니다. 또한 모험을 느끼고 일관된 백업을 유지하려는 경우 마스터/슬레이브 설정에 대한 정보를 찾습니다.
쉘 스크립트를 생성하고 cron 작업을 통해 해당 스크립트를 호출 할 수 있습니다. 호스트가 로컬 호스트 인 경우
mysqldump -h hostname -u user -pPassword dbname >/path/to/file
호스트는 선택 사항이며이 작업을 Example
을 추가 파일에 다음 코드 조각을 복사 cron 작업으로 실행 할 수 있습니다.
<?php
//Backup:
//ENTER THE RELEVANT INFO BELOW
$mysqlDatabaseName ='databasename';
$mysqlUserName ='username';
$mysqlPassword ='password';
$mysqlHostName ='localhost';
//$mysqlExportPath ='database.sql';
$mysqlImportFilename ='myownsit_obsolcms.sql';
//DONT EDIT BELOW THIS LINE
//Export the database and output the status to the page
$command='mysql -h' .$mysqlHostName .' -u' .$mysqlUserName .' -p' .$mysqlPassword .' ' .$mysqlDatabaseName .' < ' .$mysqlImportFilename;
exec($command,$output=array(),$worked);
switch($worked){
case 0:
echo 'Import file <b>' .$mysqlImportFilename .'</b> successfully imported to database <b>' .$mysqlDatabaseName .'</b>';
break;
case 1:
echo 'There was an error during import. Please make sure the import file is saved in the same folder as this script and check your values:<br/><br/><table><tr><td>MySQL Database Name:</td><td><b>' .$mysqlDatabaseName .'</b></td></tr><tr><td>MySQL User Name:</td><td><b>' .$mysqlUserName .'</b></td></tr><tr><td>MySQL Password:</td><td><b>NOTSHOWN</b></td></tr><tr><td>MySQL Host Name:</td><td><b>' .$mysqlHostName .'</b></td></tr><tr><td>MySQL Import Filename:</td><td><b>' .$mysqlImportFilename .'</b></td></tr></table>';
break;
}
//Restore:
$mysqlExportPath ='path_to_file/database.sql';
//DONT EDIT BELOW THIS LINE
//Export the database and output the status to the page
$command='mysqldump --opt -h' .$mysqlHostName .' -u' .$mysqlUserName .' -p' .$mysqlPassword .' ' .$mysqlDatabaseName .' admin contents categires google_map cms_labels news pages page_contents partners photos plugins products social testimonials themes users youtube> ~/' .$mysqlExportPath;
//$command = "$ mysqldump -u $mysqlUserName -p $mysqlPassword $mysqlDatabaseName > myownsit_obsolcms.sql";
exec($command,$output=array(),$worked);
switch($worked){
case 0:
//echo 'Database <b>' .$mysqlDatabaseName .'</b> successfully exported to <b>~/' .$mysqlExportPath .'</b>';
break;
case 1:
echo 'There was a warning during the export of <b>' .$mysqlDatabaseName .'</b> to <b>~/' .$mysqlExportPath .'</b>';
break;
case 2:
echo 'There was an error during export. Please check your values:<br/><br/><table><tr><td>MySQL Database Name:</td><td><b>' .$mysqlDatabaseName .'</b></td></tr><tr><td>MySQL User Name:</td><td><b>' .$mysqlUserName .'</b></td></tr><tr><td>MySQL Password:</td><td><b>NOTSHOWN</b></td></tr><tr><td>MySQL Host Name:</td><td><b>' .$mysqlHostName .'</b></td></tr></table>';
break;
}
?>
올바른 매개 변수를 사용하여 [mysqldump] (http://dev.mysql.com/doc/refman/5.1/en/mysqldump.html)를 호출하면됩니다. – ConcurrentHashMap
http://dbperf.wordpress.com/2010/06/11/automate-mysql-dumps-using-linux-cron-job/ 도움이 될 것입니다. – Meherzad