una tablas tabla source linea información importar exportar estructura datos consola como comandos comando cargar bases archivo mysql command-line command-line-arguments sqlcommand

mysql - tablas - ¿Cómo exportar e importar un archivo.sql desde la línea de comandos?



importar estructura de tablas e información a una base datos de mysql comando: source (8)

Bueno, puedes usar el siguiente comando para exportar,

mysqldump --database --user = root - contraseña tu nombre_db_nombre_exportar_db.sql

y el archivo generado estará disponible en el mismo directorio donde ejecutó este comando.

Ahora ingrese a mysql usando el comando,

mysql -u [nombre de usuario] -p

luego use el comando "fuente" con la ruta del archivo.

Puede encontrar más en: Importar Exportar MySQL DB

Disfrutar :)

Quiero exportar e importar un archivo .sql hacia y desde una base de datos MySQL desde la línea de comandos.

¿Hay algún comando para exportar el archivo .sql en MySQL? Entonces, ¿cómo lo importo?

Al realizar la importación, puede haber restricciones como habilitar / deshabilitar la verificación de clave externa o exportar solo la estructura de la tabla .

¿Podemos configurar esas opciones con mysqldump ?


Escriba el siguiente comando para importar el archivo de datos SQL:

$ mysql -u username -p -h localhost DATA-BASE-NAME < data.sql

En este ejemplo, importe el archivo ''data.sql'' en la base de datos ''blog'' usando vivek como nombre de usuario:

$ mysql -u vivek -p -h localhost blog < data.sql

Si tiene un servidor de base de datos dedicado, reemplace el nombre de host localhost con el nombre real del servidor o la dirección IP de la siguiente manera:

$ mysql -u username -p -h 202.54.1.10 databasename < data.sql

Para exportar una base de datos, use lo siguiente:

mysqldump -u username -p databasename > filename.sql

Note los símbolos < y > en cada caso.


Puede usar este script para exportar o importar cualquier base de datos desde el terminal que se proporciona en este enlace: https://github.com/Ridhwanluthra/mysql_import_export_script/blob/master/mysql_import_export_script.sh

echo -e "Welcome to the import/export database utility/n" echo -e "the default location of mysqldump file is: /opt/lampp/bin/mysqldump/n" echo -e "the default location of mysql file is: /opt/lampp/bin/mysql/n" read -p ''Would like you like to change the default location [y/n]: '' location_change read -p "Please enter your username: " u_name read -p ''Would you like to import or export a database: [import/export]: '' action echo mysqldump_location=/opt/lampp/bin/mysqldump mysql_location=/opt/lampp/bin/mysql if [ "$action" == "export" ]; then if [ "$location_change" == "y" ]; then read -p ''Give the location of mysqldump that you want to use: '' mysqldump_location echo else echo -e "Using default location of mysqldump/n" fi read -p ''Give the name of database in which you would like to export: '' db_name read -p ''Give the complete path of the .sql file in which you would like to export the database: '' sql_file $mysqldump_location -u $u_name -p $db_name > $sql_file elif [ "$action" == "import" ]; then if [ "$location_change" == "y" ]; then read -p ''Give the location of mysql that you want to use: '' mysql_location echo else echo -e "Using default location of mysql/n" fi read -p ''Give the complete path of the .sql file you would like to import: '' sql_file read -p ''Give the name of database in which to import this file: '' db_name $mysql_location -u $u_name -p $db_name < $sql_file else echo "please select a valid command" fi


Si ya está ejecutando el shell SQL, puede usar el comando de source para importar datos:

use databasename; source data.sql;


Tratar

mysqldump databaseExample > file.sql


Volcar una base de datos completa en un archivo:

mysqldump -u USERNAME -p password DATABASENAME > FILENAME.sql


mysqldump no volcará los eventos, desencadenantes y rutinas de la base de datos a menos que se especifique explícitamente al volcar bases de datos individuales;

mysqldump -uuser -p db_name --events --triggers --routines > db_name.sql


ya que no tengo suficiente reputación para comentar después del post más alto, así que lo agrego aquí.

utilizar ''|'' en la plataforma linux para ahorrar espacio en disco.

thx @Hariboo, agrega eventos / desencadenantes / parámetros de rutas

mysqldump -x -u [uname] -p[pass] -C --databases db_name --events --triggers --routines | sed -e ''s/DEFINER[ ]*=[ ]*[^*]*/*//*/ '' | awk ''{ if (index($0,"GTID_PURGED")) { getline; while (length($0) > 0) { getline; } } else { print $0 } }'' | grep -iv ''set @@'' | trickle -u 10240 mysql -u username -p -h localhost DATA-BASE-NAME

algunos problemas / consejos:

Error: ...... no existe cuando se utilizan tablas de bloqueo

# --lock-all-tables,-x , this parameter is to keep data consistency because some transaction may still be working like schedule. # also you need check and confirm: grant all privileges on *.* to root@"%" identified by "Passwd";

ERROR 2006 (HY000) en la línea 866: el servidor MySQL ha desaparecido mysqldump: Got errno 32 on write

# set this values big enough on destination mysql server, like: max_allowed_packet=1024*1024*20 # use compress parameter ''-C'' # use trickle to limit network bandwidth while write data to destination server

ERROR 1419 (HY000) en la línea 32730: no tiene el privilegio SUPER y el registro binario está habilitado (es posible que desee utilizar la variable log_bin_trust_function_creators menos segura)

# set SET GLOBAL log_bin_trust_function_creators = 1; # or use super user import data

ERROR 1227 (42000) en la línea 138: Acceso denegado; necesita (al menos uno de) el (los) privilegio (s) SUPER para esta operación mysqldump: Got errno 32 on write

# add sed/awk to avoid some privilege issues

¡espero que esto ayude!