Canali
![]() Ultime news
![]() Ultimi articoli
![]() Le ultime dal Forum |
![]() Correlati
![]() TagPassa qui con il mouse e visualizza le istruzioni per utilizzare i tag! Il secondo metodo di generare copie dei dati gestiti da MySQL prevede l'uso di mysqldump, un pratico programma da linea di comando fornito a corredo del database open source. Lo strumento non fa altro che riversare in un file in testo semplice (apribile quindi anche con il blocco note) tutte le query necessarie a ricreare i database indicati ed i relativi dati La compatibilità è elevatissima: non solo potrete importare su un server Windows un "dump" creato su Linux (e viceversa) senza alcun problema, ma anche utilizzare tale strumento per iniziare la migrazione dei vostri dati ad un altro motore di database, come Microsoft SQL Server, PostgreSQL eccetera. Uno degli svantaggi maggiori è costituito dalla relativa lentezza: creare un dump in questo modo (e, ancor più, ricaricare i dati in seguito) richiede nettamente più tempo di quanto non sia necessario con la semplice copia dei file trattata alla pagina precedente. Pronti, partenza... sola lettura!Così come proposto di seguito, mysqldump inibisce completamente le scritture fino al termine delle operazioni. Sebbene questo comportamento non sia strettamente indispensabile, è sicuramente consigliato per ottenere una copia super-affidabile dei dati. Durante la creazione del dump, tutti i tentativi di modificare i dati verranno posti in attesa fino alla fine dell'operazione: questo potrebbe comportare qualche timeout o altri tipi di disagi per gli utenti della base di dati. Se la vostra applicazione è predisposta per consentire l'uso del servizio in sola-lettura, potete facilmente attenuare l'inconveniente agendo su questa caratteristica. In caso contrario, il consiglio è quello di prevenire completamente i problemi inibendo del tutto l'accesso al database. Se MySQL funge unicamente da backend ad un sito web, il risultato si può ottenere facilmente arrestando il server HTTP. In caso contrario, lo scenario è più complesso e sarà necessario ragionare caso per caso. Creare il dump completoIl comando da usare (all'interno di un un prompt di comando amministrativo) per "dumpare" i tre database di nome miodatabase è mysqldump -uNomeUtenteAmministratore -pMiaPassword --opt --add-drop-database --lock-all-tables --databases miodatabase1 miodatabas2 miodatabase3 > C:\mio_dump.sql (sotto Linux è necessario solamente sostituire C:\ con un percorso adeguato al file system, come /usr/). Per lo scopo di questa guida basti dire che:
Maggiori informazioni sulle opzioni a disposizione sono preposte dal capitolo 4.5.4 della guida ufficiale. Al termine del dump, potrete ripristinare il regolare funzionamento del servizio: tutti i blocchi imposti al database saranno infatti rilasciati automaticamente ad operazione conclusa. Ripristinare il database utilizzando il fileRipristinare i dati partendo da un file di dump creato in questo modo è piuttosto semplice. Per prima cosa, assicuratevi che il database non sia accessibile dall'applicazione (vedi la trattazione "Pronti, partenza... sola lettura! " proposta poco fa). Aprite un nuovo prompt di comando ed impartite mysql -uNomeUtenteAmministratore -pRelativaPassword < C:\miodump.sql, indicando, naturalmente, il file di dump generato in precedenza. Gli utenti Linux, ovviamente, devono usare un percorso adeguato al proprio file system. L'operazione di ripristino è, generalmente, sensibilmente più lunga di quella di creazione del dump. Ad esecuzione terminata potrete comunque abilitare il servizio con la consapevolezza che tutto quanto è ritornato allo stato precedente. Dumpare la struttura, non i datiUna procedura che può risultare spesso comoda è quella di generare un dump non tanto dell'intero contenuto del database, ma solamente della struttura delle tabelle e delle varie opzioni ad esso associate. Il risultato si può ottenere molto facilmente invocando mysqldump in questo modo: mysqldump -uNomeUtenteAmministratore -pMiaPassword --no-data --opt --add-drop-database --lock-all-tables --databases miodatabase1 miodatabas2 miodatabase3 > C:\mio_dump.sql. L'unica differenza rispetto a quanto visto in precedenza è costituita dal comando --no-data. L'operazione, in questo caso, sarà molto più rapida: si parla, a meno di infrastrutture particolarmente complesse, di pochissimi secondi. Dumpare specifiche tabelleMysqldump permette anche di generare dump di specifiche tabelle, invece che di interi database. Il comando, in questo caso, diviene: mysqldump -uNomeUtenteAmministratore -pMiaPassword --opt --lock-all-tables miodatabase1 miatabella1 miatabella2 miatabella3 > C:\mio_dump.sql. Notate che è qui sparito il parametro --databases, assieme a --add-drop-database. Per reimportare un dump di questo tipo, dovrete avere l'accortezza di indicare in seguito il database nel quale inserire la tabella: il comando di importazione diventerà quindi mysql -uNomeUtenteAmministratore -pRelativaPassword miodatabase < C:\miodump.sql. Anche in questo caso, potete aggiungere al comando di dumping il già citato parametro --no-data per esportare solamente la struttura delle singole tabelle richieste, senza i relativi dati contenuti. ![]() Uno script per importare in locale un database remoto ![]() Copia diretta dei file Segnala ad un amico |
© Copyright 2025 BlazeMedia srl - P. IVA 14742231005