Съхраняване и възтановяване на дании от БД чрез PHP
Ето нещо, което е изключително полезно.
Първо естествено си правите файл с връзка към баазата данни config.php
<?php
$dbhost = "dbhost"; // хост
$dbuset = "dbuser"; // потребител
$dbpass = "dbpass"; // парола
$dbname = "dbname"; // база данни

mysql_connect($dbhost,$dbuset,$dbpass); // Връзка с базата данни
mysql_select_db($dbname); // Избиране на базата данни
?>


Съхраняване на данните от база данни backup.php
<?php

include "config.php"; // Вмъкване на файла с връзка към базата данни config.php

$tableName = 'mypet'; // Име на таблицата
$backupFile = 'backup/mypet.sql'; // Файлът където ще се запази информацията
$query = "SELECT * INTO OUTFILE '$backupFile' FROM $tableName"; // SQL заявка за съхраняване на данните във файл
$result = mysql_query($query); // Изпълнение на заявката
?>


Възтановяване на данните на база данни load.php
<?php

include "config.php"; // Вмъкване на файла с връзка към базата данни config.php

$tableName = 'mypet'; // Име на таблицата
$backupFile = 'backup/mypet.sql'; // Файлът където ще се запази информацията
$query ="LOAD DATA INFILE 'backupFile' INTO TABLE $tableName"; // SQL заявка за възтановяване на данните от файл
$result = mysql_query($query); // Изпълнение на заявката
?>


Използване на mysqldump посредством функцията system()
<?php

include "config.php"; // Вмъкване на файла с връзка към базата данни config.php

$backupFile = $dbname . date("Y-m-d-H-i-s") . '.gz'; // Файлът където ще се запази информацията
$command = "mysqldump --opt -h $dbhost -u $dbuser -p $dbpass $dbname | gzip > $backupFile"; // Команда за съхраняване на данните във файл
system($command);
?>


При $backupFile трябва да зададете точния път до файла кадето ще се записват и четат данните.
Повече за фуникцията system() тук.
Естествено няма да забравя да спомена че добър вариант е експортирането и импортирането на данни чрез phpmyadmin, който е добър помощник за тази цел и с много други функционалности.



/ Трябва да сте регистриран за да напишете коментар /
От: noname_dark
11:01 27-05-2010
"Използване на mysqldump посредством функцията system() "
Това нещо не разбрах как трябва да го сейфам :?
От: Rushvet
22:05 24-05-2011
noname_dark

са отварящ и затварящ таг на PHP и следователно се запаметява с разширение .php
1