Help-PDO copiare Database MySQL

frankz

Nuovo Utente
27 Dic 2017
8
0
1
64
Non so se questa richiesta e' nella giusta discussione, oppure devo scriverla in "database""
Ho la necessita' (a fine anno) di fare una copia del database tramite PDO, e dopo svuotare alcune delle tabelle del database di lavoro.
qualcuno mi puo' aiutare e darmi delle idee ?
 

marino51

Utente Attivo
28 Feb 2013
2.912
162
63
Lombardia
per la copia del db puoi fare riferimento al manuale, questa pagina e successive
https://dev.mysql.com/doc/refman/5.6/en/mysqldump-copying-database.html
qui invece un tutorial da seguire passo passo in funzione della situazione
http://www.mysqltutorial.org/mysql-copy-database/

per svuotare le tabelle puoi usare il comando
truncate table nomedellatabella (eseguibile probabilmente ancheda pdo)

se invece vuoi "muovere" i record in un'altra tabella (insert e delete) puoi fare riferimento qui
https://stackoverflow.com/questions/33115526/in-mysql-can-i-return-deleted-rows-after-a-deletion

ma per queste operazioni forse è meglio che crei uno script per phpmyadmin visto che sono operazioni da eseguire una volta e da controllare nel loro risultato
 

frankz

Nuovo Utente
27 Dic 2017
8
0
1
64
per la copia del db puoi fare riferimento al manuale, questa pagina e successive
https://dev.mysql.com/doc/refman/5.6/en/mysqldump-copying-database.html
qui invece un tutorial da seguire passo passo in funzione della situazione
http://www.mysqltutorial.org/mysql-copy-database/

per svuotare le tabelle puoi usare il comando
truncate table nomedellatabella (eseguibile probabilmente ancheda pdo)

se invece vuoi "muovere" i record in un'altra tabella (insert e delete) puoi fare riferimento qui
https://stackoverflow.com/questions/33115526/in-mysql-can-i-return-deleted-rows-after-a-deletion

ma per queste operazioni forse è meglio che crei uno script per phpmyadmin visto che sono operazioni da eseguire una volta e da controllare nel loro risultato
La mia intenzione era di copiare il database di lavoro per salvare una copia afine anno senza dover usare phpmyadmin che lo fa in modo molto semplice, per redere le cose piu semplici all'utente.
Io pensavo di usare mysqldbcopy, ma non so so come eseguirlo (essendo un commando da shell), all'interno di un programma PHP.
 

marino51

Utente Attivo
28 Feb 2013
2.912
162
63
Lombardia
Io pensavo di usare mysqldbcopy, ma non so so come eseguirlo (essendo un commando da shell),
con windows eseguo il comado così, in php,

$bat = $nomebat." ".$par1." ".$par2;
exec($bat,$output,$err);

$nomebat identifica path e nome del batch da eseguire
$par1 - 2 sono parametri che vengono passati al batch (limite è dato dal SO)

potresti costruire un file batch che contiene tutto il comando mysqldbcopy
passando i parametri che ti servono per renderlo "dinamico"
ed in php lo esegui, come sopraddetto

non ho un esempio mysql, ma uso questo sistema per eseguire sul server task specifici richiamati dall'utente