2010-02-19 12 views

Respuesta

49

Cuando se haya generado algún archivo (digamos db-dump.sql) con mysqldump, se puede importar a su otra base de datos con el comando mysql:

mysql --user=XXX --password=XXX --host=YOUR_HOST DATABASE_NAME < db-dump.sql 


Y, si usted no quiere la contraseña de aparecer en un comando, puede utilizar:

mysql --user=XXX -p --host=YOUR_HOST DATABASE_NAME < db-dump.sql 


Como sidenote, si desea copiar una base de datos a otro, no es necesario utilizar un archivo, y puede simplemente directamente canalizar la salida de mysqldump a mysql:

mysqldump --user=XXX --password=XXX --host=SOURCE_HOST SOURCE_DB | mysql --user=XXX --password=XXX --host=DESTINATION_HOST DESTINATION_DB 

(Debe ser incluso más rápido, ya que no está utilizando un archivo temporal que reside en el disco)

+3

Bueno, eso explica por qué mysqlimport no funcionó. –

+0

mucho mejor con la tubería. gracias – barbolo

+0

@Pascal MARTIN Estaba tratando de hacer lo mismo y no tuve éxito. Aquí está mi hilo que explica el problema: http://dba.stackexchange.com/questions/160879/importing-sql-file-in-mysql-no-errors?noredirect=1#comment309278_160879 – John

12

hago esto con frecuencia:

mysqldump -u username -p databasename > dump.sql 

Para la carga:

mysql -u username -p targetdatabasename < dump.sql 

Interruptor -p instruye a la base de datos que le solicita que introduzca la contraseña para el usuario username una vez que se lance el comando.

Sin embargo, su pregunta probablemente sea duplicada.

6

Usted sólo puede usar 'fuente' desde el cliente de mysql:

source dumpfile.sql 

O alimentación directamente desde la línea de comandos:

mysql -u user -p password database < source dumpfile.sql 

Esto es debido a que el resultado de mysqldump es simplemente un archivo SQL que se puede ejecutar a través de mysql como de costumbre.

Cuestiones relacionadas