Newsgroup: it.comp.www.php
Titolo: Dump db ...

Ciao,
per fare il backup di un db avevo sempre utilizzato phpMyAdmin, ma ora devo
dare la possibilità a un cliente di farlo da solo e non voglio che utilizzi
phpMyAdmin, ma vorrei farsi si che lo possa fare a prova di "def....".
Vorrei fare uno scriptino che richiamato gli proponga di scaricare il file
sql e basta.
qualcuno avrebbe già uno scriptino pronto?
Oppure sa dirmi dove posso trovare info per farlo?
Grazie mille
Devil


ha scritto:

Non so se e' quello che cerchi, ma PgMarket fa import/export da/per
Mysql/Postgresql.
Puoi eventualmente chiedere all'autore (e' un amico).
Il link lo trovi su : 
http://www.telug.it
Bye
-- 
http://www.montorionet.it
Non usate Linux.....Puo' dare assuefazione ! :-)
Member of TELUG® Teramo Linux User Group
http://www.telug.it

 wrote in message
news:3be8e...@news.bluewin.ch...

Crei un schedule (linux cron/w2000 taskscheduler) che ti esegue un
/usr/bin/mysqldump [C:\mysql\bin\mysqldump.exe] (ogni giorno a mezzanotte
per esempio) del database del cliente direttmante sul server e lo copia in
un area aposta per scaricarsi via rete. Lo puoi ancora zipparlo prima per
salvare banda.
Se non hai accesso al server ti dovresti creare uno script che fa il dump
delle tabelle, potresti estrarre il codice dal mysqlAdmin...

 ha scritto nel messaggio
news:3be8e...@news.bluewin.ch...

Volendo potresti prendere lo script che fa il dump in phpMyAdmin, poi lo
modifichi a tuo piacimento...
Alex


Interessa anche a me...
Pero' mi interesserebbe fare il dump di un db solo...
ad esempio, se ho 3 db sul server (db1,db2,db3) come faccio a fare il dump
di un db solo con /usr/bin/mysqldump ?
Che parametro gli devo passare ?
E poi, quale altro parametro devo passare per specificare la cartella in cui
voglio salvare il dump ?
Mi interesserebbe sapere la procedura sia per sistemi Unix che Windows
Alex

 Mi interesserebbe sapere la procedura sia per sistemi Unix che Windows
+ o - dovrebbe essere un comando simile da far eseguire, ma appunto anch'io
non conosco la sintassi, chi può spegarcela?
mysqldump -h (server) -u (user) -p (password) ...
come fare a dire che db e o che tabelle del db?
Grazie
Devil

 ha scritto nel messaggio
news:3be93019$1...@news.bluewin.ch...



GRAZIE 1000 !!!
Solo un'altra cosa...
Visto che non sono proprio esperto di Linux tanto da poter utilizzare
telnet, c'č un modo di far eseguire tale comando via script php...
esempio:
<?
funzione_che_mi_serve("mysqldump -h server -u utente -pPassword --opt
database tabella > directory/nomefile.dump");
print "Comando eseguito!";
?>
Ciao
Alex

 wrote in message
news:9jhG7.38809$sq5.2...@news.infostrada.it...

funzione_che_TI_serve:
system(),
passthru(),
exec(),
popen(),
`` 
http://download.php.net/manual/en/language.operators.execution.php
controllare bene i diritti d'accesso, leggi qui:
http://www.bitland.net/article.php?sid=1&mode=thread&order=0

Che brutta cosa :-)
Non mi piace passare comandi da apache alla linea di comando... è sempre
pericoloso per chi non ha ottima proprietà degli strumenti...
Quello che potresti fare, cosa carina, sarebbe fare uno script che fa il
dump A MANO.
Ecco un esempio lungo che ti spiego:
include($DOCUMENT_ROOT."/globali/apridb.inc"); // Apre il database
includendo un file che contiene la connect
$qquery="select * from ricerche"; // Crea la stringa di query
$query=mysql_query($qquery); // esegui la query
$righe=mysql_num_rows($query); // Salva il numero di righe trovate
for ($i=0;$i<$righe;$i++) { // Scorre una riga del database per volta
.. metti qui tutto codice per estrarre i dati dal database.. solitamente una
mysql_result che salva i dati...
...che salvi tutto in una variabile detta $colonne...
.. in questo modo: colonna1,colonna2,colonna3,etcetc,colonnaX;\n...
.. il \n è un ENTER ..
}
// Questa parte qui sotto fa sì che venga salvato tutto ciò che hai messo in
$colonne in un file CSV compatibile excel,access
// Chiamato, per esempio, esportazione_6-11-2001.csv
if($colonne=="" or $valori=="") exit("Nessun dato da esportare");
$size=strlen($colonne);
$data=date("d-m-Y",time());
$file="esportazione_".$data.".csv";
header("Cache-Control: no-cache, must-revalidate");
header("Pragma: no-cache");
header("Content-type: application/download\\r\\n");
header("Content-length: $size\\r\\n");
header("Content-disposition-type: attachment\\r\\n");
header("Content-disposition: filename=$file");
//Header("Content-type: text/plain");
echo($colonne);
?>

 wrote in message
news:3be8e...@news.bluewin.ch...

mentre ci sei (visto che ci sono gia' state tante risposte):
come query puoi anche usare questo (ti crea un file compatibile excel sul
server)
SELECT * INTO OUTFILE "Tabella.csv.xls" FIELDS TERMINATED BY '\t' OPTIONALLY
ENCLOSED BY '"' LINES TERMINATED BY "\n" from Tabella;
attenzione, ti da errore se il file di backup gia' esiste...