Canali
![]() Ultime news
![]() Ultimi articoli
![]() Le ultime dal Forum |
![]() Correlati![]() TagPassa qui con il mouse e visualizza le istruzioni per utilizzare i tag! Il primo approccio, particolarmente consigliabile quando i dati da copiare superano la decina di gigabyte, prevede di agire su singoli file che compongono i database in maniera non dissimile da quanto avvenga con la copia dei documenti tradizionali. CompatibilitàProcedendo in questo modo, potrete spostare su Windows i file generati su un server Linux (e viceversa) solo a patto che abbiate utilizzato solamente lettere minuscole per i nomi dei database e delle tabelle. Pronti, partenza... stop al databasePer poter procedere in tutta sicurezza con la copia dei file, è necessario arrestare il processo di MySQL. Ancor prima quindi, si dovrà agire per porre off-line l'applicazione che si interfaccia con il database. Se MySQL funge 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. Completata la fase di preparazione, arrestate MySQL. Se siete sotto Windows e il database è installato come servizio di sistema (impostazione predefinita), aprite un prompt di comando amministrativo e quindi lanciate net stop mysql. Sotto Linux usate invece service mysqld stop. Individuare i fileÈ ora indispensabile individuare il percorso su disco in cui sono conservati i file dei dati di MySQL. Per farlo, aprite il relativo file di configurazione del database. Se state operando sotto Windows, tale file si trova nella cartella d'installazione del programma stesso: per impostazione predefinita, C:\Programmi\MySQL\MySQL Server <versione>\my.ini. Se invece il vostro sistema utilizza Linux... individuare il corrispondente my.cnf è meno immediato, poiché il percorso varia da distribuzione a distribuzione. /usr/local/mysql/ potrebbe essere un buon candidato. In caso ancora non lo troviate, aiutatevi con find / -name "my.cnf". Una volta aperto il file, individuate la riga datadir: seguite il percorso dopo l'uguale e troverete i vostri file. Non è finita: assicuratevi anche di cercare l'opzione innodb_data_home_dir nel file di configurazione e, se presente, prendete nota del percorso ad essa associato (generalmente i due coincidono, ma è meglio sincerarsene) Aprite la cartella datadir e troverete una struttura simile a quella indicata nella schermata successiva. In linea di massima, ogni cartella contiene uno dei database memorizzati da MySQL, ma, in talune circostanze, porzioni significative di dati vengono memorizzate anche nel file ibdata (se non lo vedete qui, controllate nella cartella indicata da innodb_data_home_dir) e nei vari ib_logfile<progressivo> Notate che, in alcune configurazioni, il file ibdata può non essere presente (in tal caso, ignoratelo) oppure essere chiamato ibdata0 e/o ibdata1 e/o ibdata2 eccetera. In questa seconda circostanza, dovrete chiaramente considerarli tutti. Assicuratevi ora di fare una copia di tutto quanto: cartelle contenenti i database che vi interessano, file ibdata e/o ibdata<progresivo> e vari ib_logfile<progressivo>. A copia completata, potete riavviare il processo di MySQL: net start mysql sotto Windows, service mysqld start sotto Linux. Ripristinare il database utilizzando i fileRipristinare i dati partendo da un backup creato in questo modo è piuttosto semplice. Per prima cosa, assicuratevi che il servizio del database sia fermo (nuovamente: net stop mysql sotto Windows e service mysqld stop in ambiente Linux). Accedete quindi nuovamente al file di configurazione di MySQL per scoprire i percorsi datadir e innodb_data_home_dir. Per evitare di fare confusione, cancellate tutti i file e le cartelle preesistenti in questi due percorsi. Tutto quello che è attualmente memorizzato nel server andrà perso definitivamente ma, d'altro canto, "affiancare" vecchi dati ai nuovi con questa tecnica è una procedura vivamente sconsigliabile. Copiate ora le cartelle e i file ib_logfile<progressivo> del vostro backup nel percorso datadir, mentre in innodb_data_home_dir piazzate ibdata (oppure i vari ibdata<progressivo>). A questo punto, avviate il servizio di MySQL (net start mysql per Windows e service mysqld start su Linux). Se tutto è andato per il verso giusto, il programma dovrebbe ripartire senza problemi. In caso contrario, aprite il file .err che verrà creato all'interno della cartella datadir per risalire all'errore. Notate che, anche in caso aveste ripristinato soltanto alcuni database dalla vostra copia, il file ibdata manterrà comunque il proprio peso originale. Al momento, non pare esservi alcuna soluzione diretta al problema. ![]() Lavorare con mysqldump ![]() Guida rapida al backup e ripristino dei database MySQL Segnala ad un amico |
© Copyright 2025 BlazeMedia srl - P. IVA 14742231005