Supponendo che non sia possibile aumentare ulteriormente la dimensione della memoria, ci sono un paio di opzioni.
Se non hai familiarità con la riga di comando e vuoi davvero attenerti a un'importazione in stile GUI, puoi usare BigDump ( http://www.ozerov.de/bigdump/ ). L'ho usato una volta ma è passato un po 'di tempo. Da quello che ricordo, scaricherai un file chiamato bigdump.php (con alcune istruzioni) e lo inserirai sul tuo server web nella directory con il file di dump di MySQL DB che è troppo grande per essere importato tramite PHPMYADMIN. Quindi naviga verso di esso usando il tuo browser - qualcosa come http://your-website.com/bigdump.php .
Se hai familiarità con la riga di comando e usi un sistema basato su Linux, puoi usare un codice come questo:
mysql -u USERNAME -p DATABASENAME <FILENAME.sql
Il database e l'utente (con i privilegi del database) dovranno comunque esistere prima di eseguire questo comando. Nota Ho copiato il comando sopra da un'altra fonte. Faccio sempre i miei dump e ripristini in questo modo: DUMP: mysqldump -u DB_USER -h DB_HOST -pDB_PASSWORD DB_NAME | gzip -9 > DB_NAME.sql.gz
RESTORE:gunzip < PATH_TO_DUMP/DB_NAME.sql.gz | mysql -u DB_USER -pDB_PASSWORD DB_NAME
- Infine, e più dolorosamente, potresti scegliere di scaricare singole tabelle o gruppi di tabelle in discariche abbastanza piccole. Quindi ripristinare questi singoli dump uno alla volta tramite PHPMYADMIN.
Istruzioni FTP e RIPRISTINO:
Scarica FileZilla qui: http://filezilla-project.org/download.php?type=client
In genere puoi FTP nel tuo server (in particolare un host condiviso) usando lo stesso login e password che utilizzeresti per SSH (il tuo login dalla riga di comando). Assicurati di impostare correttamente la connessione al tuo server in FileZilla.
Una volta connesso, il tuo percorso predefinito sarà probabilmente la tua cartella $ HOME (su macchine nix). Se non hai intenzione di fare molto FTPing, scarica quello che vuoi lì. Puoi sempre spostarlo dalla riga di comando.
Se hai FTP un dump MySQL nella tua cartella $ HOME, il comando RESTORE per un DB chiamato mydb e un file di dump db chiamato mydb.sql.gz (nella cartella $ HOME) sarebbe:
gunzip < $HOME/mydb.sql.gz | mysql -u DB_USER -pDB_PASSWORD mydb
dove ovviamente dovresti modificare i valori DB_USER e DB_PASSWORD in quale utente e password hai impostato per il DB.
Ricorda:
- Il DB deve già esistere (ma essere vuoto) prima dell'esecuzione del comando RESTORE
- DB_USER e DB_PASSWORD devono essere impostati per il DB prima del comando RESTORE (è possibile farlo da PHPMYADMIN - scheda Privilegi)
- Quando si configura DB_USER da PHPMYADMIN, l'impostazione predefinita consentirà solo a DB_USER di accedere al DB da localhost (il server su cui è ospitato il DB). Suppongo che questo vada bene per la concessione della tua situazione. Quando entri in DUMP e RESTORE più avanzati potresti voler farlo da un'altra macchina che non è difficile ma richiede un paio di informazioni in più e DB_USER con i privilegi adeguati.
FTP il DB e RIPRISTINO ... Passo dopo passo
- Individua il file di dump MySQL compresso sul desktop (esempio: C: \ Web \ DB \ Dumps \ mydb.sql.zip)
- Scarica e installa FileZilla
- In FileZilla vai su File-> Site Manager e fai clic sul pulsante Nuovo sito (quadrante in basso a sinistra della GUI). Impostare l'host su un dominio (esempio: dest.com) che risiede sul server DESTINATION. Imposta Protocollo su FTP o SFTP (dipende dal tuo hosting, chiedi loro). Imposta l'utente e la password (esempio: utente = concessione, password = password della concessione) - se il protocollo FTP è SFTP, qualsiasi set di credenziali di accesso SSH valide dovrebbe funzionare.
- (In FileZilla) Fai clic su Connetti (pulsante più in basso a sinistra)
- (In FileZilla) Una volta connesso al server remoto (dovrebbe essere il tuo server DESTINAZIONE) usa il lato sinistro di FileZilla per navigare nella directory in cui risiede il file di dump che hai individuato nel passaggio 1. (Il percorso per la macchina locale è all'estrema sinistra, circa a metà strada ed è etichettato Sito locale: nel nostro esempio la casella di testo accanto a Sito locale: leggerebbe C: \ Web \ DB \ Dumps.)
- (In FileZilla) Individua il sito remoto: etichetta direttamente a destra del sito locale :.
- (In FileZilla) Non esiste alcun motivo tecnico per cui non è possibile inserire DB DUMP nella cartella aperta da FileZilla. Probabilmente verrà impostato automaticamente sulla directory $ HOME. Se non hai motivo di inserire il dump del database in una directory specifica, ad esempio per i tuoi scopi organizzativi, lascia il percorso sul sito remoto da solo. Annota quel percorso (Esempio Linux: / usr / grant).
- (In FileZilla) Individua il file sul tuo computer locale nella metà sinistra di FileZilla appena sotto l'albero mostrato sotto il sito locale: etichetta che hai trovato nel passaggio 5. Fai doppio clic su quel file e FileZilla lo farà FTP sul tuo sito remoto.
- In PHPMYADMIN sul tuo server DESTINATION, crea un nuovo database (digita mydb nella casella di testo Crea nuovo database e fai clic sul pulsante Crea).
- (In PHPMYADMIN) Scegli mydb dal menu a sinistra.
- (In PHPMYADMIN) Fai clic sulla scheda Privilegi (in alto a destra). Una volta su quella pagina, fai clic su Aggiungi nuovo utente.
- (In PHPMYADMIN-> Privilegi-> Aggiungi nuovo utente) Fornire un nome utente (esempio: mydb_grant) e una password (esempio: mydb_password). Nel menu a discesa Host, seleziona Locale. Assicurarsi che il pulsante di opzione accanto a "Concedi tutti i privilegi sul database" sia selezionato. Quindi fare clic su Vai (in basso a destra dello schermo).
- SSH nel tuo server DESTINATION.
- (Nel terminale SSH) Passare alla directory annotata al passaggio 7. Utilizzando un comando come -
cd $HOME
o cd /usr/grant
. (Su macchine Linux $ HOME è una variabile d'ambiente che sarà uguale a / usr / grant.)
- (Nel tuo terminale SSH) Esegui il seguente comando:
gunzip < /usr/grant/mydb.sql.gz | mysql -u mydb_grant -pmydb_password mydb
(non c'è spazio tra -p e la password perché è così che deve essere, che non è un errore di battitura).
Una volta completato l'ultimo comando, il DB è stato ripristinato. Non consiglio di utilizzare l'utente DB e la password forniti semplicemente sostituirli con scelte più sicure da soli.
DUMP e RESTORE su server diversi senza FTP
Se desideri saltare le cose FTP e non ti dispiace rifare DUMP, puoi farlo in questo modo:
- Accedi al server DESTINATION (dove vuoi che risieda il DB - lo chiameremo destination.com)
- Creare il DB, l'utente e i privilegi appropriati come indicato sopra sul server DESTINATION
- Assicurati che i privilegi sul server SOURCE consentano a SOURCE_DB_USER di accedere al DB da remoto - consenti l'accesso da dest.com o da% (% - tutti e ovunque se hanno il nome utente e la password corretti)
- Sul server DESTINATION eseguito:
mysqldump -u SOURCE_DB_USER -h source.com -pSOURCE_DB_PASSWORD mydb| gzip -9 > $HOME/mydb.sql.gz
dove source.com è il server SOURCE (dove attualmente risiede il DB)
- Quindi (sul server DESTINATION) eseguire:
gunzip < $HOME/mydb.sql.gz | mysql -u DEST_DB_USER -pDEST_DB_PASSWORD mydb
Dovrebbe essere tutto ciò che devi fare per spostare il DB da un server a un altro. Un avvertimento è che l'ho mai fatto solo sul mio Ubuntu dedicato (con LAMP standard) e sui server VPS di Dreamhost (che credo eseguano CentOS ma potrei sbagliarmi).