Cuando trabajamos con bases de datos es muy común y sencillo utilizar PHPMyAdmin para crear consultas o importar archivos pero este tipo de prácticas ocasiona exportaciones que incluyen algunas consultas que dependiendo de la instancia donde estemos trabajando pueden generar problemas. Pero sobre todo es prácticamente imposible importar tablas de gran tamaño aun aumentando los requerimientos del sistema es prácticamente imposible importar o exportarlas, por ello les comparto algunas opciones básicas dentro de la terminal que pueden facilitarnos la vida en algún momento.

Conectarse a MySql desde terminal

Lo primero que necesitamos es conectarnos a la base de datos y para ello lo primero que tenemos que saber es en dónde está ubicado MySql dentro de nuestro equipo, para muchos que utilizan XAMPP pueden encontrarlo en:

C:/xampp/mysql/bin/mysql

En mi caso utilizo MAMP y se encuentra en:

/Applications/MAMP/Library/bin/mysql

Sabiendo esto podemos ejecutarlo directo desde la ubicación utilizando el siguiente código:

mysql -h nombre_servidor -u nombre_usuario -p

Donde después de -h (host) ponemos el nombre de nuestro servidor, después de -u (user) agregamos el nombre de usuario y -p se recomienda dejar vacío aunque podemos utilizar nuestro pass, en caso de dejarlo vacío lo solicitará después de presionar enter.

También se puede conectar dentro de cualquier carpeta llamando la raíz completa por ejemplo si utilizamos MAMP:

/Applications/MAMP/Library/bin/mysql --host=localhost -uroot -p

Ya que nos conectamos a MySQL desde nuestra terminal empezamos por algunos comandos básicos:

Crear una base en MySQL desde terminal:

mysql> create database miprueba;

Listar bases en MySQL desde terminal:

mysql>show databases;

Utilizar una base en MySQL

mysql> use miprueba;

Ya con la base seleccionada podemos ver las tablas que hay en dicha base:

mysql> show tables;

Ahora veamos algunas consultas directamente desde terminal:

mysql> create table miprueba (id_prueba int); 
Query OK, 0 rows affected (0.08 sec) 

mysql> insert into miprueba (id_prueba) values (1); 
Query OK, 1 row affected (0.00 sec) 

mysql> insert into miprueba (id_prueba) values (2); 
Query OK, 1 row affected (0.00 sec) 

mysql> insert into miprueba (id_prueba) values (3); 
Query OK, 1 row affected (0.00 sec) 

mysql> select * from prueba;

Ahora importaremos un archivo SQL desde consola para lo que necesitaremos el siguiente comando:

mysql -u root -p base_de_datos < miprueba.sql;

Donde podemos ver que realizamos la conexión, la base de datos destino y el símbolo < que nos indica que importaremos el archivo que aparece al final en este caso miprueba.sql, si todo está correcto se iniciará la importación a dicha tabla y al finalizar podremos comprobar el resultado.

Después de trabajar con la tabla es posible que necesitemos exportarla para lo que utilizaremos mysqldump, para ello debemos saber igualmente donde se encuentra por ejemplo:

C:/xampp/mysql/bin/mysqldump

O en el caso de MAMP:

/Applications/MAMP/Library/bin/mysqldump

Ya con esta información podemos hacer una exportación utilizando el siguiente comando:

/Applications/MAMP/Library/bin/mysqldump -u root -p --opt miprueba > miprueba.sql 

Ya con lo anterior el archivo sql se guardará en la carpeta actual o si utilizamos la ruta completa se almacenará en el espacio decidido.

En caso de querer exportar solo tablas específicas basta con listarlas después de la tabla tomando en cuenta el ejemplo anterior sería algo así:

/Applications/MAMP/Library/bin/mysqldump -u root -p --opt miprueba tabla_1 tabla_2 > miprueba.sql 

Si ya terminamos de utilizar MySQL podemos simplemente cerrar la conexión:

mysql> quit

Estos son solo algunos ejemplos que nos ayudarán a trabajar desde terminal con nuestras bases de datos, espero les sea de ayuda.