Backup-restore

Discutii despre phpMyAdmin.

Moderator: Moderatori

mmarmms
Average Member
Mesaje: 186
Membru din: Joi Feb 08, 2007 3:58 pm
Localitate: Focşani
Contact:

Backup-restore

Mesajde mmarmms » Dum Mai 27, 2007 12:02 pm

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!



Avatar utilizator
Birkoff
Senior Member
Mesaje: 6380
Membru din: Joi Mar 18, 2004 2:34 pm
Localitate: Bucuresti
Contact:

Mesajde Birkoff » Lun Mai 28, 2007 10:24 am

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: Selectaţi tot

$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
1) CMS, ERP, CRM, etc... (doar pentru clienti))
2) Portofoliu, servicii, contact, blog
3) Folositi aceasta clasa sql in proiectele voastre (open source)
4) Vrei un magazin virtual la cheie, usor de folosit, cu api-uri incluse pentru maximizarea vanzarilor si multe alte facilitati? Da un semn si discutam.

mmarmms
Average Member
Mesaje: 186
Membru din: Joi Feb 08, 2007 3:58 pm
Localitate: Focşani
Contact:

Mesajde mmarmms » Mie Mai 30, 2007 5:48 pm

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...

anakyn
PHPRomania Supporter
Mesaje: 5
Membru din: Joi Iun 07, 2007 8:06 am

Mesajde anakyn » Vin Iun 08, 2007 8:53 am

ne spui si noua cum ai facut?... sunt si eu interesat!

ebogdan
Senior Member
Mesaje: 218
Membru din: Joi Iul 27, 2006 2:45 pm
Localitate: Constanta

Mesajde ebogdan » Lun Aug 06, 2007 10:14 am

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: Selectaţi tot

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... :(


Înapoi la “PHPMyAdmin”

Cine este conectat

Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 20 vizitatori