Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Kopia zapasowa bazy danych
dgaleza
post
Post #1





Grupa: Zarejestrowani
Postów: 21
Pomógł: 0
Dołączył: 29.09.2006

Ostrzeżenie: (0%)
-----


Witam,
Mam problem dotyczący wykonywania kopii zapasowej bazy MySQL. Interesuje mnie następujący sposób jej wykonania:
1. Klikamy na odnośnik
2. Wykonuje się kopia bazy danych
3. Pobieramy kopię
Coś podobnego działa w forum phpBB. Czy jest na to jakiś łatwy i ciekawy sposób. Na jednym z forum przeczytałem o phpMyBackup i jeśli nie znajdę innych ciekawych rozwiązań, zdecyduję się na ten program.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
AxZx
post
Post #2





Grupa: Zarejestrowani
Postów: 1 385
Pomógł: 55
Dołączył: 1.03.2005
Skąd: śląsk

Ostrzeżenie: (0%)
-----


ja dolacze sie do pytania (poszerze je troche:)

jak dobrze przygotowac kopie bazy zeby pozniej w latwy i bezpieczny sposob mozna bylo z niej odzyskac dane (bo po to jest kopia zapasowa).

jak parsowac taka kopie?

  1. # ----------------------------------------------------;
  2.  
  3. CREATE TABLE `branza` (
  4. `id` int(11) NOT NULL AUTO_INCREMENT,
  5. `cluster` int(11) DEFAULT '0',
  6. `name` varchar(50) NOT NULL DEFAULT '0',
  7. `level` int(10) UNSIGNED NOT NULL DEFAULT '0',
  8. UNIQUE KEY `id` (`id`)
  9. ) ENGINE=MyISAM AUTO_INCREMENT=72 DEFAULT CHARSET=utf8;
  10.  
  11. INSERT INTO `branza` VALUES
  12. ('47', '47', 'BIURO', '0'),
  13. ('48', '47', 'BHP - artykuły, sprzęt', '1'),
  14. ('50', '47', 'Biurowe artykuły', '1'),
  15. ('51', '47', 'Komputery - sprzedaż', '1'),
  16. ('52', '47', 'Komputery - części, akcesoria', '1'),
  17. ('53', '47', 'Komputery - serwis, usługi', '1'),
  18. ('54', '47', 'Komputery - oprogramowanie', '1'),
  19. ('55', '47', 'Multimedialne systemy, technologie', '1'),
  20. ('56', '47', 'Kserokopiarki - serwis, materiały eksploatacyjne', '1'),
  21. ('57', '47', 'Kursy, szkolenia', '1'),
  22. ('58', '47', 'Meble - biurowe', '1'),
  23. ('60', '47', 'Papiernicze artykuły - detal', '1'),
  24. ('61', '47', 'Sklepy - wyposażenie', '1'),
  25. ('62', '47', 'Stemple, datowniki, pieczątki', '1'),
  26. ('63', '63', 'BUDOWNICTWO', '0'),
  27. ('64', '64', 'DOM i OGRÓD', '0'),
  28. ('65', '65', 'FINANSE i UBEZPIECZENIA', '0'),
  29. ('67', '67', 'INSTYTUCJE i URZĘDY', '0'),
  30. ('68', '68', 'MOTORYZACJA i TAXI', '0');
  31. INSERT INTO `branza` VALUES
  32. ('69', '69', 'NAUKA', '0'),
  33. ('70', '70', 'ODZIEŻ i TEKSTYLiA', '0'),
  34. ('71', '71', 'PRZEMYSŁ i ENERGETYKA', '0');
  35.  
  36. # ----------------------------------------------------;
  37.  
  38. CREATE TABLE `dzial` (
  39. `dzial_id` int(11) NOT NULL AUTO_INCREMENT,
  40. `dzial_nazwa` varchar(32) NOT NULL,
  41. PRIMARY KEY (`dzial_id`),
  42. KEY `dzial_id` (`dzial_id`)
  43. ) ENGINE=MyISAM AUTO_INCREMENT=62 DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC;


zrobilem
  1. <?php
  2. $dane_po = explode(";rn", $dane);
  3. ?>

kazdy element tablicy powinien byc zapytaniem, ale gdy w tresci jest srednik to sie sypie. przygladalem sie parserowi sql ktory jest w phpmyadmin - kobyla straszna, naprawde jest to wszystko konieczne?


co do pytania autora to tworzenie kopii tabel jest stosunkowo proste
  1. <?php
  2. function arch_tabela1($tabela){
  3.  
  4. $nl = $this->define_crlf();
  5. $wynik = '';
  6.  
  7. /*$wynik .= '#;'.$nl;
  8. $wynik .= '# Struktura tabeli `'.$tabela.'`;'.$nl;
  9. $wynik .= '#;'.$nl.$nl;*/
  10.  
  11. $dane1 = $this->sql->getone_assoc('SHOW CREATE TABLE '.$tabela);
  12. $wynik .= $dane1['Create Table'].';';
  13. $wynik .= $nl.$nl;
  14.  
  15. /*$wynik .= '#;'.$nl;
  16. $wynik .= '# Dane tabeli `'.$tabela.'`;'.$nl;
  17. $wynik .= '#;'.$nl.$nl;*/
  18.  
  19.  
  20. $zap2 = $this->sql->query('SELECT * FROM '.$tabela);
  21.  
  22. $wiersz = '';
  23. $i=0;
  24. while($dane2 = $this->sql->fetch_assoc($zap2)){
  25. $i++;
  26.  
  27. if($i>&& $i%20 == 0) $wiersz = substr($wiersz,0,-4).';'.$nl;
  28. if($i==|| $i%20 == 0) $wiersz .= 'INSERT INTO `'.$tabela.'` VALUES '.$nl;
  29.  
  30. $wiersz .='(';
  31.  
  32. foreach($dane2 as $klucz=>$war) $wiersz .= '''.$war.'', ';
  33.  
  34. $wiersz = substr($wiersz, 0, -2);
  35. $wiersz .='), '.$nl;
  36. }
  37.  
  38. $wynik .= substr(trim($wiersz), 0, -1);
  39. if($i>0){
  40. $wynik .= ';'.$nl.$nl;
  41. }
  42. $wynik .= '# ----------------------------------------------------;'.$nl.$nl;
  43.  
  44. return $wynik;
  45.  
  46. }#koniec arch_tabela
  47. ?>


tylko tak jak pisalem, nie wiem czy to jest dobre do pozniejszego importu.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 16.10.2025 - 02:13