linea importar exportar desde datos consola comandos archivo mysql sql command-line import

exportar - ¿Cómo importar un archivo SQL usando la línea de comandos en MySQL?



importar base de datos mysql consola xampp (30)

Importar una base de datos

  1. Ir a conducir:

    command: d:

  2. Inicio de sesión de MySQL

    command: c:/xampp/mysql/bin/mysql -u root -p

  3. Se pedirá pwd. Ingresarlo:

    pwd

  4. Seleccione la base de datos

    use DbName;

  5. Proporcione el nombre del archivo

    /.DbName.sql

Tengo un archivo .sql con una exportación de phpMyAdmin . Quiero importarlo en un servidor diferente usando la línea de comandos.

Tengo una instalación de Windows Server 2008 R2. .sql archivo .sql en la unidad C y probé este comando

database_name < file.sql

No está funcionando, consigo errores de sintaxis.

  • ¿Cómo puedo importar este archivo sin problemas?
  • ¿Necesito crear una base de datos primero?

  1. Abra la línea de comandos de MySQL
  2. Escriba la ruta de acceso de su directorio de mysql bin y presione Entrar
  3. Pegue su archivo SQL dentro de la carpeta bin del servidor mysql.
  4. Crear una base de datos en MySQL.
  5. Utilice esa base de datos particular donde desea importar el archivo SQL.
  6. Escriba source databasefilename.sql y escriba
  7. Su archivo SQL se carga con éxito.

A veces, el puerto definido y la dirección IP del servidor de esa base de datos también son importantes ...

mysql -u user -p user -h <Server IP> -P<port> (DBNAME) < DB.sql


Agregue la opción --force :

mysql -u username -p database_name --force < file.sql


Al igual que en https://.com/a/17666285/1888983
Diferencias clave para mí:

  1. La base de datos tiene que existir primero
  2. No hay espacio entre -p y la contraseña

shell> mysql -u root -ppassword #note: no space between -p and password mysql> CREATE DATABASE databasename; mysql> using databasename; mysql> source /path/to/backup.sql

Ejecutando fedora 26 con MariaDB.


Con respecto al tiempo que lleva importar grandes archivos: lo más importante es que lleva más tiempo porque la configuración predeterminada de MySQL es autocommit = true . Debe desactivarlo antes de importar su archivo y luego verifique cómo funciona la importación como una gema.

Solo necesitas hacer lo siguiente:

mysql> use db_name; mysql> SET autocommit=0 ; source the_sql_file.sql ; COMMIT ;


Creo que vale la pena mencionar que también puedes cargar un archivo comprimido (comprimido) con zcat como se muestra a continuación:

zcat database_file.sql.gz | mysql -u username -p -h localhost database_name


El siguiente comando funciona para mí desde la línea de comandos (cmd) en Windows 7 en WAMP .

d:/wamp/bin/mysql/mysql5.6.17/bin/mysql.exe -u root -p db_name < database.sql


Entre todas las respuestas, para el problema anterior, esta es la mejor:

mysql> use db_name; mysql> source file_name.sql;


Estoy usando Windows 10 con Powershell 5 y encontré que casi todas las soluciones "tipo Unix" no funcionan para mí.

> mysql -u[username] [database-name] < my-database.sql At line:1 char:31 + mysql -u[username] [database-name] < my-database.sql + ~ The ''<'' operator is reserved for future use. + CategoryInfo : ParserError: (:) [], ParentContainsErrorRecordException + FullyQualifiedErrorId : RedirectionNotSupported

Termino usando este comando.

> type my-database.sql | mysql -u[username] -h[localhost] -p [database-name]

y funciona perfectamente, espero que ayude.

Gracias a la answer @ por cierto.


Los siguientes pasos ayudan a cargar file.sql en la base de datos MySQL.

Paso 1: file.sql.zip en cualquier directorio y descomprima allí
Nota : sudo apt-get install unzip : sudo apt-get unzip file.sql.zip
Paso 2: Ahora navega a ese directorio. Ejemplo: cd /var/www/html

Paso 3: mysql -u username -p database-name < file.sql
Ingrese la contraseña y espere hasta que se complete la carga.


Mientras que la mayoría de las respuestas aquí solo mencionan el comando simple

mysql -u database_user -p [db_name] <database_file.sql

hoy en día es bastante común que las bases de datos y las tablas tengan una combinación de utf8 donde este comando no es suficiente. Teniendo utf8-collation en las tablas exportadas, se requiere usar este comando:

mysql -u database_user -p --default-character-set = utf8 [db_name] <database_file.sql

Surley esto también funciona para otros conjuntos de caracteres, cómo se puede ver la notación correcta aquí:

https://dev.mysql.com/doc/refman/5.7/en/show-collation.html

Un comentario también mencionó que si una base de datos nunca existe, primero se tenía que crear una base de datos vacía. Esto puede ser correcto en algunos casos, pero depende del archivo de exportación. Si el archivo exportado ya incluye el comando para crear la base de datos, la base de datos nunca debe crearse en un paso separado, lo que incluso podría causar un error en la importación. Por lo tanto, en la importación, es aconsejable mirar primero en el archivo para saber qué comandos se incluyen allí, en la exportación es recomendable tener en cuenta la configuración, especialmente si el archivo es muy grande y difícil de leer en un editor.

Todavía hay más parámetros para el comando que se enumeran y explican aquí:

https://dev.mysql.com/doc/refman/5.7/en/mysql-command-options.html

Si utiliza otra versión de la base de datos, considere buscar también la versión correspondiente del manual. Los enlaces mencionados se refieren a la versión 5.7 de MySQL.


No es necesario especificar el nombre de la base de datos en la línea de comandos si el archivo .sql contiene CREATE DATABASE IF NOT EXISTS db_name y USE db_name sentencias.

Solo asegúrese de conectarse con un usuario que tenga permisos para crear la base de datos, si la base de datos mencionada en el archivo .sql no existe.


Para fines de copia de seguridad, cree un archivo BAT y ejecute este archivo BAT utilizando el Programador de tareas . Tomará una copia de seguridad de la base de datos; simplemente copie la siguiente línea y péguela en el Notepad de Notepad y luego guarde el archivo .bat y ejecútelo en su sistema.

@echo off for /f "tokens=1" %%i in (''date /t'') do set DATE_DOW=%%i for /f "tokens=2" %%i in (''date /t'') do set DATE_DAY=%%i for /f %%i in (''echo %date_day:/=-%'') do set DATE_DAY=%%i for /f %%i in (''time /t'') do set DATE_TIME=%%i for /f %%i in (''echo %date_time::=-%'') do set DATE_TIME=%%i "C:/Program Files/MySQL/mysql server 5.5/bin/mysqldump" -u username -ppassword mysql>C:/%DATE_DAY%_%DATE_TIME%_database.sql


Para importar múltiples archivos SQL a la vez, usa esto:

# Unix-based solution for i in *.sql;do mysql -u root -pPassword DataBase < $i;done

Para la importación simple:

# Unix-based solution mysql -u root -pPassword DataBase < data.sql

Para WAMP :

#mysqlVersion replace with your own version C:/wamp/bin/mysql/mysqlVersion/bin/mysql.exe -u root -pPassword DataBase < data.sql

Para XAMPP:

C:/xampp/mysql/bin/mysql -u root -pPassword DataBase < data.sql


Para importar una sola base de datos, use el siguiente comando.

mysql -u username -p password dbname < dump.sql

Para importar múltiples volcados de base de datos, use el siguiente comando.

mysql -u username -p password < dump.sql


Para obtener información, solo tuve la raíz predeterminada + sin contraseña, no funciona con todas las respuestas anteriores.

  • He creado un nuevo usuario con todos los privilegios y una contraseña. Funciona.

  • -password SIN ESPACIO.


Para volcar una base de datos en un archivo SQL, use el siguiente comando

mysqldump -u username -p database_name > database_name.sql

Para importar un archivo SQL a una base de datos (asegúrese de estar en el mismo directorio que el archivo SQL o proporcione la ruta completa al archivo)

mysql u -username -p database_name < database_name.sql


Pensé que podría ser útil para aquellos que usan Mac OS X :

/Applications/xampp/xamppfiles/bin/mysql -u root -p database < database.sql

Reemplace xampp con mamp u otros servidores web.


Podemos usar este comando para importar SQL desde la línea de comandos:

mysql -u username -p password db_name < file.sql

Por ejemplo, si el nombre de usuario es root y la contraseña es password . Y tiene un nombre de base de datos como bank y el archivo SQL es bank.sql . Entonces, simplemente haz esto:

mysql -u root -p password bank < bank.sql

Recuerda donde está tu archivo SQL. Si su archivo SQL está en la carpeta / directorio del escritorio, vaya al directorio del escritorio e ingrese el comando de esta manera:

~ ? cd Desktop ~/Desktop ? mysql -u root -p password bank < bank.sql

Y si usted está en el directorio del Project y su archivo SQL está en el directorio de Desktop . Si desea acceder a él desde el directorio del Project , puede hacer lo siguiente:

~/Project ? mysql -u root -p password bank < ~/Desktop/bank.sql


Proporcionar credenciales en la línea de comando no es una buena idea. Las respuestas anteriores son geniales, pero no mencionan

mysql --defaults-extra-file=etc/myhost.cnf database_name < file.sql

Donde etc / myhost.cnf es un archivo que contiene el host, el usuario, la contraseña y evita exponer la contraseña en la línea de comandos. Aquí hay una muestra,

[client] host=hostname.domainname user=dbusername password=dbpassword


Seguí corriendo en el problema donde no se creó la base de datos.

Lo arreglé así

mysql -u root -e "CREATE DATABASE db_name" mysql db_name --force < import_script.sql


Si ya tiene la base de datos, use lo siguiente para importar el dump o el archivo sql

mysql -u username -p database_name < file.sql

si no necesita crear la base de datos relevante (vacía) en MySQL, para eso primero inicie sesión en la consola de MySQL ejecutando el siguiente comando en terminal o en cmd

mysql -u userName -p;

y cuando se le solicite proporcionar la contraseña.

Luego crea una base de datos y úsala.

mysql>create database yourDatabaseName; mysql>use yourDatabaseName;

Luego importe el archivo sql o el archivo de dump a la base de datos desde

mysql> source pathToYourSQLFile;

Nota: si su terminal no se encuentra en la ubicación donde existe el archivo de dump o sql , use la ruta relativa arriba.


Tratar:

mysql -u username -p database_name < file.sql

Compruebe las opciones de MySQL .

Nota-1: es mejor usar la ruta completa del archivo SQL file.sql .

Nota-2: Utilice -R y -R --triggers para mantener las rutinas y los desencadenantes de la base de datos original. No se copian por defecto.


Un uso común de mysqldump es para hacer una copia de seguridad de una base de datos completa:

shell> mysqldump db_name > backup-file.sql

Puede volver a cargar el archivo de volcado en el servidor de esta manera:

UNIX

shell> mysql db_name < backup-file.sql

Lo mismo en el símbolo del sistema de Windows :

mysql -p -u [user] [database] < backup-file.sql

Potencia Shell

C:/> cmd.exe /c "mysql -u root -p db_name < backup-file.sql"

Línea de comandos de MySQL

mysql> use db_name; mysql> source backup-file.sql;


Una solución que funcionó para mí es a continuación:

Use your_database_name; SOURCE path_to_db_sql_file_on_your_local;


Ve al directorio donde tienes MySQL.

c:/mysql/bin/> mysql -u username -p password database_name < filename.sql

También para volcar todas las bases de datos, use la opción -all-databases , y ya no se debe especificar el nombre de ninguna base de datos.

mysqldump -u username -ppassword –all-databases > dump.sql

O puede usar algunos clientes GUI como SQLyog para hacer esto.


Ve al directorio donde tienes el ejecutable MySQL. -u para el nombre de usuario y -p para solicitar la contraseña:

C:/xampp/mysql/bin>mysql -u username -ppassword databasename < C:/file.sql


mysql --user=[user] --password=[password] [database] < news_ml_all.sql


mysql -u root -p password -D database_name << import.sql

Utilice la ayuda de mysql para obtener más información mysql --help

Creo que estas serán opciones útiles en nuestro contexto.

[~]$ mysql --help mysql Ver 14.14 Distrib 5.7.20, for osx10.12 (x86_64) using EditLine wrapper Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved. Usage: mysql [OPTIONS] [database] -?, --help Display this help and exit. -I, --help Synonym for -? --bind-address=name IP address to bind to. -D, --database=name Database to use. --delimiter=name Delimiter to be used. --default-character-set=name Set the default character set. -f, --force Continue even if we get an SQL error. -p, --password[=name] Password to use when connecting to server. -h, --host=name Connect to host. -P, --port=# Port number to use for connection or 0 for default to, in order of preference, my.cnf, $MYSQL_TCP_PORT, /etc/services, built-in default (3306). --protocol=name The protocol to use for connection (tcp, socket, pipe, -s, --silent Be more silent. Print results with a tab as separator, each row on new line. -v, --verbose Write more. (-v -v -v gives the table output format). -V, --version Output version information and exit. -w, --wait Wait and retry if connection is down.

lo que es divertido, si importamos una base de datos grande y no tenemos una barra de progreso. Use Pipe Viewer y vea la transferencia de datos a través de la tubería

Para Mac, brew install pv Para Debian / Ubuntu, apt-get install pv . Otros, consulte http://www.ivarch.com/programs/pv.shtml

pv import.sql | mysql -u root -p password -D database_name 1.45GiB 1:50:07 [339.0KiB/s] [=============> ] 14% ETA 11:09:36 1.46GiB 1:50:14 [ 246KiB/s] [=============> ] 14% ETA 11:09:15 1.47GiB 1:53:00 [ 385KiB/s] [=============> ] 14% ETA 11:05:36