Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

dump mysql tabele - kako?

[es] :: PHP :: dump mysql tabele - kako?

[ Pregleda: 2122 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Nemanja Avramović
Engineering Manager
MENU Technologies
Beograd, Srbija

Moderator
Član broj: 32202
Poruke: 4391
*.yu1.net.

Sajt: https://avramovic.info


+46 Profil

icon dump mysql tabele - kako?04.10.2005. u 18:37 - pre 225 meseci
Kako da dobijem dump MySQL tabele (tabela) kao sto se to dobije kad radim bekap iz phpMyAdmina ili iz phpBB Admin panela?

Nasao sam ovo:
Code:
<?php
include './connection.php';
$now = date('d.m.Y',time());
$backupFile = "backup/$now.sql";
$query = "SELECT * INTO OUTFILE '$backupFile' FROM $db_table"; //ime tabele je u connection.php
$result = mysql_query($query);

if ($result) { echo "bacqp finished!"; }
else { echo mysql_error(); }

?>


...medjutim, dobijam sledecu gresku:
Citat:
Can't create/write to file 'backup\04.10.2005.sql' (Errcode: 2)


Probao sam da mi $now bude samo timestamp, ali opet ista greska... Takodje sam menjao putanju u /backup/$now.sql kao i ./backup/$now.sql

Folder backup postoji, a testiram ovo na Windowsu tako da mi chmod ne treba.

Da li ima neka funkcija koja moze da dump-uje bas kao phpMyAdmin jer nisam nasao nista slicno, a i ovaj gore metod ne znam uopste kakav output daje...
Laravel Srbija.

[NE PRUŽAM PODRŠKU ZA PHP PREKO PRIVATNIH PORUKA!]
 
Odgovor na temu

Nemanja Avramović
Engineering Manager
MENU Technologies
Beograd, Srbija

Moderator
Član broj: 32202
Poruke: 4391
*.yu1.net.

Sajt: https://avramovic.info


+46 Profil

icon Re: dump mysql tabele - kako?04.10.2005. u 18:41 - pre 225 meseci
Izgooglao sam nesto u vezi ove greske, izgleda da MySQL "hoce" ovo da dump-uje u TEMP folder mog sistema a tamo nema backup... ali ja zelim u trenutni folder da dumpujem... tj. folder/backup/datum.sql
Laravel Srbija.

[NE PRUŽAM PODRŠKU ZA PHP PREKO PRIVATNIH PORUKA!]
 
Odgovor na temu

SmilieBG
Aleksandar Skodric
NL

Član broj: 13094
Poruke: 1821
*.speed.planet.nl.



+3 Profil

icon Re: dump mysql tabele - kako?04.10.2005. u 22:08 - pre 225 meseci
Ne znam koje privilegije imas nad sistemom, ali pokusaj sa:

exec('mysqldump -uusername -ppassword -hhostname ime_baze > /lokacija/do/dump/fajla.sql');

Poz,
Sale
=========
Uporedi cene i karakteristike za vise od 10.000 proizvoda, izmedju ostalog:
Digitalni foto-aparati
Mobilni telefoni
Skolski pribor
=========
 
Odgovor na temu

Dejan Topalovic
Dejan Topalović
Senior Oracle DBA & Senior PL/SQL
Developer, Erste Sparinvest (Erste
Bank), Vienna, Austria
Vienna

Član broj: 635
Poruke: 1374
*.infonova.at.

Sajt: www.baze-podataka.net


+2 Profil

icon Re: dump mysql tabele - kako?05.10.2005. u 10:29 - pre 225 meseci
Code:
$backupFile = "backup/$now.sql";
Naveo si relativnu putanju do fajla, koja se nadodaje na defaultnu putanju direktorija u koji MySQL zapisuje podatke iz klauzule OUTFILE ili DUMPFILE...
Pokusaj prvo da navedes apsolutnu putanju, tako sto ces staviti npr. /putanja/do/direktorija/u/kojem/mysql/ima/write/privilegiju/$now.sql

Da li ti je mozda ukinuta FILE privilegija, bez koje ne mozes koristiti klauzulu OUTFILE ?
Blog - baze podataka
---------------------
Oracle OCP DBA (9i & 10g)
Oracle Database: SQL Certified Expert
Oracle OCP Developer
Certified MySQL DBA
 
Odgovor na temu

Nemanja Avramović
Engineering Manager
MENU Technologies
Beograd, Srbija

Moderator
Član broj: 32202
Poruke: 4391
*.yu1.net.

Sajt: https://avramovic.info


+46 Profil

icon Re: dump mysql tabele - kako?05.10.2005. u 12:33 - pre 225 meseci
@SmilieBG: Znam ja za taj nacin ali pokusavam to da odradim sa sto manjim privilegijama... bash kroz PHP... bas cu danas da se zezam s tim pa cu da javim
@StRiPy: Ne znam da li imam FILE privilegiju... mislim, u lokalu, gde sam je testirao - imam. Ali na sajtu, ne znam

Pokusacu `rucno` pa cu javiti...
Laravel Srbija.

[NE PRUŽAM PODRŠKU ZA PHP PREKO PRIVATNIH PORUKA!]
 
Odgovor na temu

Nemanja Avramović
Engineering Manager
MENU Technologies
Beograd, Srbija

Moderator
Član broj: 32202
Poruke: 4391
*.yu1.net.

Sajt: https://avramovic.info


+46 Profil

icon Re: dump mysql tabele - kako?05.10.2005. u 20:23 - pre 225 meseci
Eh, tako je to kad si pocetnik u MySQL-u...
Naime, nesto sam uspeo (attach). Napravio sam class koji moze da dump-uje tabelu i da napravi SQL sintaksu. Napominjem da je ovo pravljeno samo za licne potrebe (moje, jel'te) pa posto ja obicno koristim prvo polje za id stavke koje je INT, auto_increment, a ostala TEXT/INT (u zavisnosti sta mi je potrebno), ovaj dump verovatno nece raditi na ostalim "tipovima" tabela... Evo primera tabele koju najopustenije moze da dump-uje:

Code:

CREATE TABLE `search` (
  `id` int(11) NOT NULL auto_increment,
  `body` text NOT NULL,
  `url` text NOT NULL,
  `title` text NOT NULL,
  `number` INT(11) NOT NULL, 
  PRIMARY KEY  (`id`)
);


Dakle, testirano je sa ovakvom tabelom - radilo je: polja tipa text, int (mada i ostala verovatno RADE), not null, auto increment, i primary key (ostale key-ove ne registruje, posto nisam radio sa njima).

I da, posto nikad ne stavljam "default" vrednost polja, to nisam obradio ovde, posto ne znam kako, tako da ovaj class ne obraca paznju na default polja.

U attachovanoj arhivi cete naci primer gde je kljucni red:
Code:

$backup->dump_table($table_name); //dump it to output (buffer)
echo htmlspecialchars($backup->output); //write output


dump_table u stvari poziva dve funkcije:
Code:

$this->output = "";
$this->get_table_structure($tablename);    
$this->list_values($tablename);

...ali pre toga brise trenutni buffer... dakle, onaj gore red (dump_table) ste mogli zameniti sa ova tri, samo umesto $this da stavite $backup.
Brisanje buffera se mora odraditi rucno jer sam ja zaboravio da stavim a sad me mrzi (hehe).
Zasto ovo govorim: Pa potrebno Vam je ako dumpujete npr. samo strukturu 10ak tabela (10ak je primer samo) jer onda ne mozete pozvati dump_table funkciju vec morate get_table_structure. Brisanje buffera (output) morate odraditi ako dumpujete vise tabela za redom... Ako dumpujete samo jednu, onda nije potrebno, ali nece nista smetati

Da ne smaram vise, pogledajte attachment.

P.S. Ah da, samo da kazem da ovaj class moze (a ne mora) da ispred dumpa strukture tabele (create table...) postavi drop table if exists (pogledajte primer)...

P.P.S. Pozivam svakoga ko moze i ume da mi pomogne da usavrsim dumpovanje strukture baze...
Laravel Srbija.

[NE PRUŽAM PODRŠKU ZA PHP PREKO PRIVATNIH PORUKA!]
Prikačeni fajlovi
 
Odgovor na temu

[es] :: PHP :: dump mysql tabele - kako?

[ Pregleda: 2122 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.