MySQL, come gestire backup e restore di database enormi.
La migliore soluzione per un rapido backup e per rapidi ripristini di database enormi, negli ordini di centinaia di megabytes è quella di copiare il contenuto dei suddetti database, direttamente dalla directory dati di MySQL, che solitamente in Linux si trova sotto
/var/lib/mysql/<nomedatabase>
e sotto windows si trova sotto:
c:ProgrammiMySQLData<nomedatabase>
Per effettuare questa operazione si dovrebbe fermare MySQL, quindi copiare il contenuto di <nomedatabase>, e riavviare MySQL, per il backup, per il ripristino, fermare MySQL, copiare il contenuto di <nomedatabase> nella directory dati di MySQL, assicurarsi che i files appartenghino all'utente MySQL sotto Linux, e assicurarsi che abbiano i permessi corretti, a questo punto riavviare MySQL e il ripristino è fatto.
Per effettuare un export in formato SQL / File di Testo, esiste anche una utility chiamata mysqldump.
Informazioni sull'utility di MySQL "mysqldump":
Mysqldump crea un file in formato testo/ascii con tutte le istruzioni SQL per ricreare il database. Questa utility è utile se si desidera exportare il database su una piattaforma diversa da MySQL, tuttavia questa è utility non è il massimo quando si devono esportare database enormi, però offre il vantaggio di creare un file di dati portatile ed inoltre tramite questa utility è possibile anche impostare alcune opzioni per esportare solo una o più tabelle oppure solo alcune istruzioni SQL, questa utility è equivalente alla funzione di export di phpmyadmin.
Alcuni esempi di utilizzo:
mysqldump <nomedatabase> > <filesql.sql> -u <utente> -p
Enter password: <password>
mysqldump database_pippo > pippo.sql -u pippouser -p
Enter password: pippopassword
Altro esempio, se si desidera exportare più database:
mysqldump --database <database1> <database2> > <filesql.sql> -u <username> -p
Enter password: <password>
Se si desidera invece exportare tutti i database, si può usare l'opzione --all-database
mysqldump --all-database > arnaldoz_new_db.sql -u root -p
Enter password: <password>
Per ripristinare un database salvato con mysqldump, in questo caso è necessario usare l'utility mysql, con la seguente sintassi:
mysql < <filesql.sql> -u <utente> -p
Enter password: <password>
Per speficicare un database:
mysql --one-database <database> < <filesql.sql> -u <user> -p
Enter password: <password>
http://www.9euro.com http://www.globospace.com
Giovanni Ceglia
giovanniceglia@xungame.com