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
Tabla de contenidos
- 1 Comandos más utilizados de MySQL
- 1.1 Comando de login en MySQL
- 1.2 Listar bases de datos en MySQL
- 1.3 Cambiar de BBDD MySQL
- 1.4 Obtener listado de tablas de una base de datos MySQL
- 1.5 Lanzar una SQL en MySQL desde consola
- 1.6 Comando para sacar el describe de una tabla
- 1.7 Comando para exportar una base de datos MySQL
- 1.8 Si al hacer el export MySQL da error: mysqldump table doesn't exist when using LOCK TABLES
- 1.9 Comando para importar una base de datos MySQL
- 2 Sobre el esquema INFORMATION_SCHEMA
- 3 ¿Cómo borrar todas las tablas de MySQL?
- 4 ¿Cómo borrar una base de datos MySQL?
- 5 ¿Cómo crear una base de datos MySQL?
- 6 Conclusiones
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 queremos que genere el fichero comprimido en tar.gz os dejo aquí un tutorial sobre cómo generar ficheros comprimidos en linux y cómo descomprimir.
- 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
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.
Trackbacks/Pingbacks