PDA

View Full Version : Esporta Database con MySQL5


Lim
09-11-2006, 09:51
Ho un Database fatto con MySQL 5.
Lo gestisco con phpmyadmin e vorrei implementare nelle pagine PHP che ho scritto appositamente per le interrogazioni da parte degli utenti, la funzione di salvataggio (export) dell'intero database, in modo da avere una copia di backup. Con phpmyadmin, lo posso fare senza problemi, ma vorrei che gli utenti non dovessero accedere a questa funzionalità per il backup. Volevo scrivere una pagina PHP apposita. In teoria dovrebbe essere possibile, basta usare il comando mysqldump, ma dalla shell dei comandi di mysql restituisce un errore. Il file di testo (o zip) che deve contenere il backup viene creato correttamente, ma è sempre vuoto! Ho consultato la guida di mysql, ed ho tutte usato le opzioni consigliate, provando ad esportare solo una tabella o tutte quante, ma il file rimane sempre vuoto.

Cos'è, un BUG di questa versione o sono io che sbaglio in qualcosa? :muro:

anonimizzato
09-11-2006, 19:42
Ma che errore ti riporta la shell di MySQL?

Lim
09-11-2006, 20:55
Ma che errore ti riporta la shell di MySQL?
Dice che sbaglio sintassi e mi consiglia di controllare nel manuale, ma io ho usato la sintassi consigliata nella guida... :rolleyes:

anonimizzato
11-11-2006, 11:18
Se la shell di riporta un errore di sintassi c'è poco da fare vuol dire che la query è sbagliata.

Posta la query cosi capiamo meglio.

Ciao.

Lim
25-12-2006, 11:37
Se la shell di riporta un errore di sintassi c'è poco da fare vuol dire che la query è sbagliata.

Posta la query cosi capiamo meglio.

Ciao.

Ecco la query che faccio:
mysqldump -uroot -ppippo pasticceria > backup.sql;

Mi restituisce l'errore:
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL version for the right syntax to use near 'mysql
dump -uroot -ppippo pasticceria > backup.sql' at line 1

^TiGeRShArK^
25-12-2006, 13:59
Ehm..E lasciare 1 spazio tra -p -u e l'username e la password?:fagiano:no..Xké mi pare difficilotto ke il parser degli argomenti li riconosca scritti in quel modo:mbe:

Lim
25-12-2006, 16:20
Ehm..E lasciare 1 spazio tra -p -u e l'username e la password?:fagiano:no..Xké mi pare difficilotto ke il parser degli argomenti li riconosca scritti in quel modo:mbe:

Ovviamente ho fatto anche quella prova, ma il messaggio d'errore è sempre lo stesso.
Cmq il parser E' IN GRADO di riconoscerli anche attaccati, se è stato progettato x farlo. Il carattere spazio o lettera o numero sono del tutto indifferenti per il parser, se lui sa che dopo il trattino deve verificare la presenza del carattere di controllo u o p e sa che subito dopo c'è l'user o la password senza uno spazio, non è che si confonde, basta solo sapere come è stato progettato.
Qui ho postato il comando senza lasciare uno spazio proprio perchè nella guida è indicata questa sintassi, quello che mi lascia perplesso è che io ho fatto un semplice copia e incolla dal manuale, ma non funziona e la cosa buffa è che l'errore è di sintassi... ASSURDO... :muro:

^TiGeRShArK^
25-12-2006, 21:39
guarda io ho fatto così e mi ha funzionato perfettamente:
mysqldump --user=develop --password=develop development > myDB.sql

^TiGeRShArK^
25-12-2006, 21:43
mi sa che il problema è il ; finale perchè ho provato ad aggiungerlo ank'io e non mi funziona perchè si aspetta il nome di una tabella

anonimizzato
26-12-2006, 11:59
mi sa che il problema è il ; finale perchè ho provato ad aggiungerlo ank'io e non mi funziona perchè si aspetta il nome di una tabella

Però a lu gli ritorna un errore di sintassi strano.

Ho provato anch'io sia con la password staccata che attaccata a -p e il dump funziona correttamente. :boh:

^TiGeRShArK^
26-12-2006, 13:59
Però a lu gli ritorna un errore di sintassi strano.

Ho provato anch'io sia con la password staccata che attaccata a -p e il dump funziona correttamente. :boh:
nel mio caso se uso il ; mi da un errore xké si aspetta il nome di una tabella se non lo uso tutto funziona.L'errore è però diverso da quello postato.

Lim
26-12-2006, 14:03
nel mio caso se uso il ; mi da un errore xké si aspetta il nome di una tabella se non lo uso tutto funziona.L'errore è però diverso da quello postato.

A questo punto credo che sia un BUG della mia versione.
Io sto usando APPSERV, che è un pacchetto che installa APACHE 2.2.3 con supporto PHP 5.1.6 e MySQL 5.0.24a.

Voi che versioni avete?

^TiGeRShArK^
26-12-2006, 14:17
mysql 5.0.27

anonimizzato
26-12-2006, 15:53
MySQL 5.0.15 sotto il pacchetto XAMPP