 |
Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc Comunitatea PHP Romania
|
| Subiectul anterior :: Subiectul următor |
| Autor |
Mesaj |
mmarmms
Data înscrierii: 08/Feb/2007
Mesaje: 179
Locație: Focșani
|
| Trimis: Dum Mai 27, 2007 11:02 am Titlul subiectului: Backup-restore |
|
|
As avea si eu o intrebare:
Cum pot face backup la un tabel salvand datele intr-un fisier si cum pot restaura tabelul folosind fisierul creat anterior. Vreau sa fac un script php pentru asta si sa folosesc calea relativa pentru fisierul de backup.
Multumiri! |
|
| Sus |
|
Birkoff
Data înscrierii: 18/Mar/2004
Mesaje: 2452
Locație: Bucuresti
|
| Trimis: Lun Mai 28, 2007 9:24 am Titlul subiectului: |
|
|
preieie toate datele din tabel si le salvezi intr-un fisier txt in format csv, apoi la import dai o comanda asemanatoare cu asta:
Cod:
$comanda_sql = "LOAD DATA ".$local." INFILE '".$cale_csv.$nume_nou."'
INTO TABLE `tabelul_tau`
FIELDS TERMINATED BY ';' ENCLOSED BY '\"' ESCAPED BY '\\\\' LINES TERMINATED BY '\\r\\n'
IGNORE 1 LINES
(pn, kn, um, buc, tip_stoc, marca, descriere, pret, moneda)";
secventa de mai sus am luat-o dntr-un script facut de mine mai demult... pentru sintaxa corecta la LOAD DATA vezi in manualul sql ca sa se potriveasca cu cazul tau...
daca nu stii sa salvezi date intr-un fisier citeste articolul de aici |
|
| Sus |
|
mmarmms
Data înscrierii: 08/Feb/2007
Mesaje: 179
Locație: Focșani
|
| Trimis: Mie Mai 30, 2007 4:48 pm Titlul subiectului: |
|
|
| am rezolvat altfel... asa incercam si eu sa fac, cum ai descris, dar nu mergea decat daca dadeam calea absoluta si eu aveam nevoie sa folosesc o cale relativa... |
|
| Sus |
|
anakyn
Data înscrierii: 07/Iun/2007
Mesaje: 5
|
| Trimis: Vin Iun 08, 2007 7:53 am Titlul subiectului: |
|
|
| ne spui si noua cum ai facut?... sunt si eu interesat! |
|
| Sus |
|
ebogdan
Data înscrierii: 27/Iul/2006
Mesaje: 113
|
| Trimis: Lun Aug 06, 2007 9:14 am Titlul subiectului: |
|
|
Uite o chestie de backup pe care am facut-o eu mai demult pentru o baza de date intreaga (cu MySQL 5), poate te ajuta la ceva:
Cod: function db_backup(){
$filename = 'server_backup_' . date("Y.m.d_H-i-s");
$sql_file = $filename . '.sql';
$bz2_file = $sql_file . '.bz2';
$q = sprintf('mysqldump -u %s --password=%s --routines --complete-insert --flush-logs --single-transaction --extended-insert --triggers -B %s > %s',
BACKUP_USER, BACKUP_USER_PASS, DB_SCHEMA, BACKUP_DIR . $sql_file);
system($q);
$ok = bzip2(BACKUP_DIR . $sql_file, BACKUP_DIR . $bz2_file);
if(!$ok) return FALSE;
unlink(BACKUP_DIR . $sql_file);
header('Location: ' . BACKUP_DIR . $bz2_file);
exit;
}
Dezavantajul evident este ca foloseste mysqldump si ai nevoie de drepturi de acces la el pe server, dar doar in acest fel pot salva si procedurile stocate asociate bazei de date si pot asigura integritatea cheilor externe :wink: Alta modalitate care sa functioneze corect pt MySQL 5 nu am gasit... :( |
|
| Sus |
|
PHPRomania Bot
Bot Member
Data înscrierii: 27/Dec/2007
Mesaje: 1
Locaţie: Server Google |
| Trimis: Mie Dec 26, 2007 7:01 pm Titlul subiectului: Ad |
|
|
|
|
|
| Sus |
|
| |
|