Esportare e importare database MySQL di grosse dimensioni

Chi ospita il proprio sito su un hosting condiviso difficilmente ha la possibilità di avere accesso ad SSH e dunque poter utilizzare mysldump o mysql per l’esportazione e importazione di un database SQL. Inoltre, molto spesso phpMyAdmin non consente il backup di database che superino una certa dimensione (spesso il limite sono appena 2MB, Webperte ne è un esempio…) e soprattutto non ne consente l’importazione.

Nel tempo ho selezionato alcuni script e programmi che mi facilitano di molto quando ho la necessità di importare/esportare database MySQL di grosse dimensioni. Ecco la mia personale cassetta degli attrezzi:

  • MySQL Dumper: lo strumento più completo per il backup e restore di un db MySQL che potete trovare. Offre la possibilità di inviare il dump del db via mail o di salvarlo su un sever FTP, permette di creare un .htaccess per proteggere la sua directory di installazione, consente di cancellare, editare o inserire dati nelle tabelle. Consiglio di dare un’occhiata a tutte le feature per rendersi conto delle qualità di MySQL Dumper.
  • Sypex Dumper: è semplice da installare (basta soltanto caricare la cartella con tutti i suoi file sul proprio spazio Web) e utilizzando Ajax consente di esportare e importare database di qualsiasi dimensione senza andare in timeout. È gratuito ma esiste anche una versione a pagamento con delle funzioni in più.
  • BigDump: più rozzo rispetto a Sypex Dumper e a MySQL Dumper, BigDump è uno script molto amato proprio per la sua semplicità, basta dire che si tratta di un solo file PHP. Consente soltanto l’importazione di database non l’export.
  • SQLyog: si tratta di un programma freeware per Windows che consente la gestione completa di un db MySQL, tuttavia la funzione per cui lo apprezzo da anni è la sua capacità di importare file .sql di grandissime dimensioni in tempi brevissimi. Basta andare su “Tools – Restore from SQL dump” e selezionare il file .sql non compresso da importare. Peccato che quasi nessun hosting permetta la connessione ai propri database MySQL da remoto (un caso a parte è Dreamhost che consente di aprire connessione ai database non solo da localhost) ma come tool per lavorare in locale su un database è veramente ottimo. Unico difetto: SQLyog non esiste per Linux.
  • TinyShell: last but no least, questo script consente una volta caricato sul proprio spazio Web di avere accesso a un terminale vero e proprio. Ha incluso un plugin che emula l’interfaccia da riga di comando di MySQL e dunque si possono impartire comandi SQL proprio come se ci si trovasse difronte a MySQL. Ha anche un plugin Oracle. Oltre a MySQL ha integrati molti comandi Unix classici come ls, rm, cp, pwd, whoami etc oltre a comandi come download e upload che come intuibile dai nomi consentono di scaricare/caricare file direttamente da TinyShell. Per accedere a TinyShell va impostata una password nel file di configurazione “config.php”, consiglio anche di proteggere la directory con un .htaccess.