Esto es una guía rápida de administración de MySQL. En mi caso, que tengo bastante experiencia en administración y tunning de bases de datos Oracle, con las bases de datos MySQL podemos echar en falta muchas y conocer con exactitud el uso de los comandos más comunes. Por eso, esta pequeña guía nos puede ser muy útil para sacarnos de cualquier apuro en un momento dado si estamos trabajando con MySQL.

También te puede interesar:
Cambiar la contraseña de root de MySQL
Consultas MySQL mediante una macro de VB
Diagrama de base de datos MySQL
Guía para crear una base de datos MySQL desde comandos en linux

Comandos más utilizados de MySQL

Os voy a dejar una lista de los comandos MySQL más básicos para utilizar bajo consola con los que podréis administrar vuestro servidor MySQL en totalidad a un nivel medio/avanzado para poder gestionar vuestras bases de datos.

Comando de login en MySQL

Con el siguiente comando nos podremos logar en una base de datos MySQL desde la consola de nuestro servidor.

mysql -h [HOST] -u [USUARIO] -p[PASSWORD]

Cuidado: no hay espacio entre el parámetro -p y la contraseña (va todo junto).

Listar bases de datos en MySQL

Si queremos sacar un listado de las bases de datos que tenemos instaladas en nuestro servidor de MySQL tenemos que lanzar el siguiente comando una vez nos hayamos logado con el comando anterior:

SHOW DATABASES;

Cambiar de BBDD MySQL

El siguiente comando MySQL es para cambiar de BBDD. No podemos lanzar ninguna operación sobre una base de datos si antes no lo hemos seccionado previamente.

USE [DATABASE];

Obtener listado de tablas de una base de datos MySQL

Con el siguiente comando de MySQL podemos sacar un listado de las tablas de una base de datos MySQL:

SHOW TABLES;

Lanzar una SQL en MySQL desde consola

Para lanzar una consulta de base de datos bastaría con escribir la consulta o la instrucción SQL directamente sobre la consola.

select * from TABLE
alter TABLE....

Si queremos lanzar un script con muchas operaciones, se trataría como si fuera un import de base de datos que veremos más adelante.

Comando para sacar el describe de una tabla

Si queremos saber el descriptor de una tabla tenemos el siguiente comando MySQL. El descriptor o describe es un comando típico de Oracle y que en MySQL también podemos utilizar para saber las columnas que tiene una tabla, los tipos de cada una y las relaciones que tiene (primary keys, foreign keys, índices, etc).

desc TABLE;

Comando para exportar una base de datos MySQL

Con el siguiente comando podremos realizar una copia de seguridad de MySQL, o un export de una base de datos MySQL.

mysqldump -h [HOST] -u [USUARIO] -p[PASSWORD] [DB_NAME] > fichero.sql

A tener en cuenta:

  • Si queremos que genere el fichero comprimido .gz, basta con ponerlo así:

[DB_NAME] | gzip > fichero.sql.gz

  • Si es por un puerto diferente al 3306, añadimos:

-P [PUERTO]

Si al hacer el export MySQL da error: mysqldump table doesn't exist when using LOCK TABLES

Esto es porque el esquema que queremos importar tiene bloqueadas las tablas por seguridad. Solo tenemos que añadir el parámetro --skip-lock-tables a nuestro comando de export de MySQL.

mysqldump --skip-lock-tables -h [HOST] -u [USUARIO] -p[PASSWORD] [DB_NAME] > fichero.sql

mysqldump table doesn't exist when using LOCK TABLES

Añadiendo el parámetro desaparecería el error anterior y permitirá realizar el export de base de datos de mysql.

Comando para importar una base de datos MySQL

Con este comando podemos realizar un import de MySQL. Es muy útil para cuando estamos migrando una base de datos de un servidor a otro o queremos restaurar una copia de seguridad de una base de datos MySQL.

mysql -h [HOST] -u [USUARIO] -p[PASSWORD] [DB_NAME] < fichero.sql

Sobre el esquema INFORMATION_SCHEMA

Todas las BBDD MySQL tienen un esquema que se llama INFORMATION_SCHEMA que contienen información sobre las tablas, columnas,... de todos los esquemas que tengamos creados. Para hacernos una idea de la información que podemos ver, las tablas que vienen en ese esquema son:

  • CHARACTER_SETS
  • COLLATIONS
  • COLLATION_CHARACTER_SET_APPLICABILITY
  • COLUMNS
  • COLUMN_PRIVILEGES
  • KEY_COLUMN_USAGE
  • PROFILING
  • ROUTINES
  • SCHEMATA
  • SCHEMA_PRIVILEGES
  • STATISTICS
  • TABLES
  • TABLE_CONSTRAINTS
  • TABLE_PRIVILEGES
  • TRIGGERS
  • USER_PRIVILEGES
  • VIEWS

¿Cómo borrar todas las tablas de MySQL?

No existe un comando que permita hacer esto con un solo comando. Para ello, lo que se hace es lanzar una consulta que te genere los DROP TABLES correspondientes y después los ejecutas. Para hacer esto lanzamos la siguiente consulta:

SELECT CONCAT('drop table ',table_name,'; ')
FROM information_schema.tables
WHERE table_schema = 'sonar_qube';

Esto nos devolverá:

DROP TABLE tabla1;
DROP TABLE tabla2;
DROP TABLE tabla3;
...

Lanzamos todas esas sentencias a la vez y ya tendremos nuestra BBDD limpia.

Una forma más rápida es borrar la BBDD y volver a crearla, pero cuando nuestro usuario no tiene permisos para hacer eso, esta es la solución más fácil.

¿Cómo borrar una base de datos MySQL?

El comando para eliminar una base de datos MySQL es el siguiente:

DROP DATABASE nombre_base_de_datos;

¿Cómo crear una base de datos MySQL?

El comando para crear una base de datos MySQL es el siguiente:

CREATE DATABASE nombre_base_de_datos;

Estos comando de eliminar y crear bases de datos de MySQL los vais a utilizar mucho si tenéis que restaurar bases de datos o migrar bases de datos de un servidor a otro.

Conclusiones

Con todos estos comandos de MySQL tenéis una guía básica de administración de MySQL con la que podéis defenderos con total soltura. Gracias a ellos podréis mantener vuestras bases de datos y operar con ellas con tranquilidad y como podéis ver son muy sencillos de utilizar. Espero que os haya sido de utilidad y podáis compartir este artículo entre vuestras redes sociales para ayudar a más gente a gestionar sus bases de datos de MySQL.

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.

ACEPTAR
Aviso de cookies