Mysql дамп базы данных - это текстовый файл, в котором записаны команды mysql сервера со списком всех таблиц и всего содержимого каждой страницы. Создавать дамп базы данных mysql необходимо всегда, особенно если Вы занимаетесь раскруткой сайта. Периодичность создания дампа зависит от важности Вашей информации и частоты обновления базы. Для меня важно держать информацию всегда в свежем виде, по этому дамп делается ежедневно. 
      Сегодня я расскажу Вам и выложу php скрипт дампа базы данных для mysql таблиц. Целью задачи создать дамп базы mysql было содержание сохраненной информации всегда в актуальном виде. Cкрипт дампа базы mysql был написан мною на php с условием запуска по крону. Скрипт берет список всех таблиц и содержание их и записывает в текстовый документ на сервере, для экономия дискового пространства скрипт дампа архивирует файл в zip и кладет его в папку "dump" и удаляет текстовый документ. Работа скрипта очень проста и понятна начинающему php кодеру, по этому комментариев не выкладываю.
      Вот сам скрипт:
       <?php $hostname = "localhost";
$username = "***";
$password = "***";

mysql_connect($hostname,$username,$password);
mysql_select_db($dbName) or die(mysql_error()); 
$headers=null;

$spisok_trek=mysql_query("SHOW TABLES");

//---------------------------получили список таблиц------------------------------
while($item_spisok = mysql_fetch_assoc($spisok_trek))
{
$tables=$item_spisok['Tables_in_verhmax_seo'];
$res_op=mysql_query("OPTIMIZE TABLE `$tables` EXTENDED;"); 

//-----------------------------получили список таблиц для создания-----------------------------
$spisok_trek2=mysql_query("SHOW CREATE TABLE `$tables`");
while($item_spisok2 = mysql_fetch_assoc($spisok_trek2))
{
$show_create_tables=$item_spisok2['Create Table'];
$headers.="$show_create_tables \n\n\n";
}

//-------------------------------получили список колонок таблицы----------------------------------
$spisok_trek3=mysql_query("SHOW COLUMNS FROM `$tables`");
$num_rows3 = mysql_num_rows($spisok_trek3);
$headers.="INSERT INTO `$tables` (";
$z=0;
while($item_spisok3 = mysql_fetch_assoc($spisok_trek3))
{$z++;
$show_colums_tables=$item_spisok3['Field'];
if($num_rows3==$z){$headers.="`$show_colums_tables`";}
else{$headers.="`$show_colums_tables`, ";}
}
$headers.=") VALUES\n";

$ra=mysql_query("SELECT * FROM `$tables` ");
$num_rows = mysql_num_rows($ra);

//------------------------------------получили каждую строку в отдельности--------------------------------------
$spisok_trek4=mysql_query("SELECT * FROM `$tables`");
$num_rows4 = mysql_num_rows($spisok_trek4);
$zz=0;
while($item_spisok4 = mysql_fetch_array($spisok_trek4))
{$zz++;
$headers.="(";
for($i=0; $i<$num_rows3; $i++)
{
if($i==$num_rows3-1){$headers.= "'".$item_spisok4[$i]."'";}
else{$headers.= "'".$item_spisok4[$i]."',";}
}
if($num_rows4==$zz){$headers.=");\n";}
else{$headers.="),\n";}
}
$headers.="\n\n\n\n\n\n";
}

echo"копия создана";
$date=date('Y-m-d');
$fp=fopen("dump/dump-seo-$date.txt","w+");
fputs($fp,$headers);
fclose($fp);

$zip = new ZipArchive(); 
$archive_dir = "dump/"; 
$src_dir = "dump/"; 
$fileName = $archive_dir."dump-seo-"; 
$fileName = $fileName."$date"; 
$fileName = $fileName.".zip"; 

if ($zip->open($fileName, ZIPARCHIVE::CREATE) !== true) { 
fwrite(STDERR, "Error while creating archive file"); 
exit(1); 

$zip->addFile($src_dir."dump-seo-".$date.".txt", "dump-seo-$date.txt"); 
$zip->close(); 

unlink("dump/dump-seo-$date.txt"); ?> 

Помимо этого, мой скрипт отправляет архив e-mail письмом на резервное мыло, но об этом чуть позже.

Нужна консультация по созданию сайта?

Профессионально, качественно и быстро!