Claudiogarau.it :: Tutorials & Scripts, PHP, Linux and more.

Home ~ Php :: Metodi non ortodossi per il backup da MySQL :: Indice Php

Metodi non ortodossi per il backup da MySQL

Categoria: Php Inserito il: 02-08-2006 Stampa (6133 click)

Nell'ultimo di questa breve serie di articoli dedicati al backup di dati da basi gestite tramite MySQL affronteremo due metodologie, meno raffinate rispetto a quelle descritte in precedenza, ma a loro modo altrettanto efficaci se utilizzate nel modo giusto.

Il primo metodo è sicuramente il più 'artigianale'; nell'articolo introduttivo abbiamo spiegato come in pratica l'allocazione di dati, struttura delle tabelle e indici venga eseguita attraverso semplici file con estensioni differenti: .MYD, .frm e .MYI; per ogni tabella esisteranno quindi tre file 'nome_tabella.MYD/.frm/.MYI', sarebbe quindi sufficiente copiare questi ultimi o direttamente la directory che li contiene per ottenere un backup completo.

Data la portabilità di questo tipo di informazioni, una copia di sicurezza del genere potrà essere tranquillamente utilizzata anche per trasferire archivi tra terminali dotati di file system differenti.

Per effettuare una procedura di backup come quella descritta, sarà bene arrestare il DBMS per poi riavviarlo una volta copiate le informazioni desiderate; in alternativa sarebbe possibile intervenire con i comandi LOCK e FLUSH per poi 'liberare' le tabelle con UNLOCK, ma in definitiva arrestare il DBMS per un attimo si configura come una soluzione molto più pratica.

Il secondo metodo che descriveremo è quello riferito al comando BACKUP e all'istruzione di ripristino RESTORE; questi due costrutti sono ormai considerati 'deprecati', non tanto perchè soffrano di gravi limitazioni o creino qualche pericolo per i dati allocati, ma per la disponibilità odierna di strumenti più raffinati e ricchi di opzioni. Vale comunque la pena di introdurli brevemente.

BACKUP e RESTORE possono agire soltanto su tabelle di tipo MyISAM (predefinito per MySQL) ed effettuano un backup di file con estensione .MYD ed .frm, di conseguenza gli indici dovranno essere ricreati in sede di restore sotto forma di file .MYI.

Per cui dovremo innanzitutto utilizzare il database sul quale intendiamo operare il backup della tabella:

mysql> USE nome_db;
Quindi introdurre il comando per effettuare la copia di sicurezza:
mysql> BACKUP TABLE nome_tb TO '/nome_dir';
Di seguito, potremo portare a termine la nostra procedura di ripristino e ricreare gli indici mancanti:
mysql> RESTORE TABLE nome_tb FROM '/nome_dir';
Attenzione: questo articolo è stato concesso in esclusiva per la pubblicazione a Mrwebmaster.it; ne è vietata la riproduzione,
anche parziale, senza l'esplicito consenso dell'autore e della redazione di Mrwebmaster.it.

Cerca nel sito
Per sito
Sviluppatore di applicazioni Web con competenze evolute nella progettazione delle basi di dati, autore per alcune delle più importanti testate on line dedicate alla manualistica tecnica (HTML.it, MrWebmaster.it, Edit) e consulente per l'e-learning.
Tutte le categorie
Tutorial Random
Accedere ad una mailbox con PHP
Creare un client di posta elettronica in PHP è un'operazione abbastanza complessa, il linguaggio però ci mette a disposizione numerose... Leggi l'articolo
Corsi online per sviluppatori
Corsi per Webmaster, Web Designer, Programmatori, Grafici e Sistemisti