Suponiendo que no puede aumentar aún más el tamaño de la memoria, hay un par de opciones.
Si no está familiarizado con la línea de comandos y realmente desea seguir con una importación de estilo GUI, puede usar BigDump ( http://www.ozerov.de/bigdump/ ). Lo usé una vez pero ha pasado un tiempo. Por lo que recuerdo, descargará un archivo llamado bigdump.php (con algunas instrucciones) y lo colocará en su servidor web en el directorio con el archivo de volcado de base de datos MySQL que es demasiado grande para importar a través de PHPMYADMIN. Luego navegue hacia él usando su navegador, algo así como http://your-website.com/bigdump.php .
Si está familiarizado con la línea de comandos y utiliza un sistema basado en Linux, puede usar un código como este:
mysql -u NOMBRE DE USUARIO -p DATABASENAME <FILENAME.sql
Sin embargo, la base de datos y el usuario (con privilegios para la base de datos) deberán existir antes de ejecutar este comando. Tenga en cuenta que copié el comando anterior de otra fuente. Siempre hago mis volcados y restauraciones de esta manera: 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
- Finalmente, y lo más doloroso, puede elegir volcar tablas individuales o grupos de tablas en volcados lo suficientemente pequeños. Luego restaure estos volcados individuales uno a la vez a través de PHPMYADMIN.
Instrucciones de FTP y RESTAURACIÓN:
Descargue FileZilla aquí: http://filezilla-project.org/download.php?type=client
Por lo general, puede FTP en su servidor (especialmente un host compartido) utilizando el mismo inicio de sesión y contraseña que usaría para SSH (inicio de sesión de línea de comandos). Solo asegúrese de configurar la conexión a su servidor correctamente en FileZilla.
Una vez conectado, su ruta predeterminada probablemente será su carpeta $ HOME (en máquinas nix). Si no planeas hacer mucho FTPing, simplemente descarga lo que quieras allí. Siempre puedes moverlo desde la línea de comando.
Si envió FTP a un volcado de MySQL en su carpeta $ HOME, entonces el comando RESTORE para un DB llamado mydb y un archivo de volcado db llamado mydb.sql.gz (en la carpeta $ HOME) sería:
gunzip < $HOME/mydb.sql.gz | mysql -u DB_USER -pDB_PASSWORD mydb
donde obviamente necesitaría cambiar los valores DB_USER y DB_PASSWORD a qué usuario y contraseña configuró para la base de datos.
Recuerda:
- El DB ya debe existir (pero debe estar vacío) antes de ejecutar el comando RESTORE
- DB_USER y DB_PASSWORD deben configurarse para la base de datos antes del comando RESTORE (puede hacerlo desde PHPMYADMIN - pestaña Privilegios)
- Cuando configura DB_USER desde PHPMYADMIN, por defecto solo permitirá que DB_USER acceda a la DB desde localhost (el servidor en el que está alojada la DB). Supongo que esto está bien para su concesión de situación. Cuando ingrese a DUMPs y RESTOREs más avanzados, es posible que desee hacerlo desde otra máquina por completo, lo que no es difícil pero requiere que se proporcione un par de datos más y DB_USER con los privilegios adecuados.
FTP la base de datos y restaurarla ... paso a paso
- Ubique el archivo de volcado MySQL comprimido en su escritorio (Ejemplo: C: \ Web \ DB \ Dumps \ mydb.sql.zip)
- Descargue e instale FileZilla
- En FileZilla, vaya a Archivo-> Administrador del sitio y haga clic en el botón Nuevo sitio (cuadrante inferior izquierdo de la GUI). Establezca el host en un dominio (Ejemplo: dest.com) que reside en su servidor DESTINATION Establezca el protocolo en FTP o SFTP (esto depende de su alojamiento, pregúnteles). Establezca el Usuario y la Contraseña (Ejemplo: Usuario = concesión, Contraseña = contraseña de concesión): si el protocolo FTP es SFTP, cualquier conjunto de credenciales de inicio de sesión SSH válidas debería funcionar.
- (En FileZilla) Haga clic en Conectar (botón más a la izquierda)
- (En FileZilla) Una vez conectado al servidor remoto (debe ser su servidor de DESTINO) use el lado izquierdo de FileZilla para navegar al directorio donde reside el archivo de volcado que encontró en el Paso 1. (La ruta para la máquina local está en el extremo izquierdo, aproximadamente a la mitad y está etiquetada como Sitio local: en nuestro ejemplo, el cuadro de texto junto al sitio local: leería C: \ Web \ DB \ Dumps).
- (En FileZilla) Localice el sitio remoto: etiqueta directamente a la derecha del sitio local :.
- (En FileZilla) No hay ninguna razón técnica por la que no pueda colocar el DB DUMP en la carpeta a la que se abre FileZilla. Es probable que su directorio $ HOME sea el predeterminado. Si no tiene ningún motivo para colocar el volcado de base de datos en un directorio específico, como para sus propios fines organizativos, deje la ruta en el sitio remoto solo. Escriba esa ruta (Ejemplo de Linux: / usr / grant).
- (En FileZilla) Localice el archivo en su máquina local en la mitad izquierda de FileZilla justo debajo del Árbol que se muestra debajo del sitio Local: etiqueta que encontró en el Paso 5. Haga doble clic en ese archivo y FileZilla lo enviará por FTP a su Sitio Remoto.
- Dentro de PHPMYADMIN en su servidor de DESTINO, cree una nueva base de datos (escriba mydb en el cuadro de texto Crear nueva base de datos y haga clic en el botón Crear).
- (En PHPMYADMIN) Elija mydb del menú de la izquierda.
- (En PHPMYADMIN) Haga clic en la pestaña Privilegios (arriba a la derecha). Una vez en esa página, haga clic en Agregar nuevo usuario.
- (En PHPMYADMIN-> Privilegios-> Agregar nuevo usuario) Proporcione un nombre de usuario (Ejemplo: mydb_grant) y contraseña (Ejemplo: mydb_password). En el menú desplegable Host, elija Local. Asegúrese de que esté seleccionado el botón de opción junto a "Conceder todos los privilegios en la base de datos". Luego haga clic en Ir (abajo a la derecha de la pantalla).
- SSH en su servidor de DESTINO.
- (En su terminal SSH) Vaya al directorio que escribió en el Paso 7. Usando un comando como -
cd $HOME
o cd /usr/grant
. (En máquinas Linux, $ HOME es una variable de entorno que será igual a / usr / grant).
- (En su terminal SSH) Ejecute el siguiente comando:
gunzip < /usr/grant/mydb.sql.gz | mysql -u mydb_grant -pmydb_password mydb
(no hay espacio entre -p y la contraseña porque así es como debe ser, eso no es un error tipográfico).
Una vez que se completa ese último comando, su DB ha sido RESTAURADA. No recomiendo usar el usuario de DB y la contraseña que proporcioné, simplemente reemplácelos con opciones más seguras.
DUMP y RESTORE en diferentes servidores sin FTP
Si desea omitir las cosas de FTP y no le importa volver a hacer el DUMP, puede hacerlo de esta manera:
- Inicie sesión en el servidor de DESTINATION (donde desea que resida la base de datos; lo llamaremos destination.com)
- Cree la base de datos, el usuario y los privilegios adecuados como se mencionó anteriormente en el servidor DESTINO
- Asegúrese de que los privilegios en el servidor SOURCE permitan a SOURCE_DB_USER acceder a la base de datos de forma remota, ya sea permitir el acceso desde dest.com o desde% (% - todos y en todas partes si tienen el nombre de usuario y contraseña correctos)
- En el servidor DESTINO, ejecute:
mysqldump -u SOURCE_DB_USER -h source.com -pSOURCE_DB_PASSWORD mydb| gzip -9 > $HOME/mydb.sql.gz
donde source.com es el servidor FUENTE (donde reside actualmente el DB)
- Luego (en el servidor DESTINATION) ejecute:
gunzip < $HOME/mydb.sql.gz | mysql -u DEST_DB_USER -pDEST_DB_PASSWORD mydb
Eso debería ser todo lo que necesita hacer para mover la base de datos de un servidor a otro. Las advertencias son que solo he hecho esto en mi propio Ubuntu dedicado (con LAMP estándar) y los servidores VPS de Dreamhost (que creo que ejecutan CentOS, pero podría estar equivocado).