Instalación y configuración básica de MySQL

MySQLMySQLBeginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En este laboratorio, exploraremos la configuración básica y el uso de MySQL, uno de los sistemas de gestión de bases de datos relacionales (RDBMS) de código abierto más populares. MySQL se utiliza ampliamente en muchas aplicaciones web basadas en bases de datos y sitios web populares. Al final de este laboratorio, habrás adquirido experiencia práctica en verificar la instalación de MySQL, asegurar su configuración inicial, acceder a la shell de MySQL y examinar las bases de datos y tablas del sistema.

Verificar la instalación de MySQL

MySQL se ha preinstalado en tu sistema por conveniencia. Sin embargo, es importante entender el proceso de instalación. En un entorno típico de Ubuntu, utilizarías los siguientes comandos para instalar MySQL:

Los siguientes comandos son solo con fines informativos. No es necesario que los ejecutes, ya que MySQL ya está instalado en tu entorno.

## DO NOT RUN THESE COMMANDS
sudo apt update
sudo apt install mysql-server -y

El comando apt update actualiza la lista de paquetes para asegurarte de tener la información más reciente sobre los paquetes disponibles. El comando apt install mysql-server -y instala el paquete del servidor MySQL. La opción -y se utiliza para responder automáticamente "sí" a cualquier mensaje de confirmación que pueda aparecer durante el proceso de instalación.

Comencemos verificando la instalación de MySQL y comprobando su estado.

Primero, abre una ventana de terminal haciendo clic en el icono de la terminal en el escritorio:

Terminal icon on desktop

Una vez en la terminal, ejecuta el siguiente comando para comprobar el estado de MySQL:

sudo service mysql status

Este comando utiliza sudo para ejecutarse con privilegios de administrador, que a menudo son necesarios para operaciones a nivel de sistema. La parte service mysql status pide al sistema que informe sobre el estado actual del servicio de MySQL.

MySQL service status output

Deberías ver una salida que indique que MySQL está detenido. Esto es lo esperado, ya que aún no hemos iniciado el servicio de MySQL.

sudo service mysql start

Espera unos segundos a que el servicio se inicie, luego ejecuta el comando de estado nuevamente:

MySQL service status output

Acceder a la shell de MySQL

Ahora, accedamos a la shell de MySQL para realizar algunas operaciones básicas.

Para acceder a la shell de MySQL, utiliza el siguiente comando:

sudo mysql -u root

Este comando utiliza sudo para ejecutarse con privilegios de administrador, que a menudo son necesarios para operaciones a nivel de sistema. El comando mysql se utiliza para acceder a la shell de MySQL, y la opción -u root especifica que te estás conectando como el usuario root.

En este caso, no es necesario proporcionar una contraseña porque la instalación de MySQL en la máquina virtual de LabEx está configurada para permitir que el usuario root inicie sesión sin contraseña. Esto es común en entornos de desarrollo, pero no se debe hacer en sistemas de producción.

Si tiene éxito, verás un mensaje de bienvenida y el indicador de MySQL:

Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 52
Server version: 10.6.18-MariaDB-0ubuntu0.22.04.1 Ubuntu 22.04

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]>

Ahora estás en la shell de MySQL, donde puedes ejecutar comandos SQL.

El indicador MariaDB [(none)]> indica que estás conectado a MariaDB (una bifurcación de MySQL) y actualmente no estás utilizando ninguna base de datos específica.

Es importante tener en cuenta que estás viendo MariaDB en lugar de MySQL. No te preocupes, esto no afectará tu capacidad para completar este laboratorio o aprender comandos de MySQL. Aquí está el porqué:

  1. MariaDB es una bifurcación de MySQL, creada por los desarrolladores originales de MySQL. Está diseñado para ser un reemplazo directo de MySQL, lo que significa que es completamente compatible con la sintaxis y las operaciones de MySQL.
  2. MariaDB se creó para garantizar que siempre estuviera disponible una versión realmente de código abierto de MySQL. Mantiene una alta compatibilidad con MySQL y, al mismo tiempo, ofrece algunas características y mejoras únicas.
  3. Para los fines de este laboratorio y la mayoría de las operaciones básicas e intermedias de MySQL, puedes tratar a MariaDB exactamente como a MySQL. Todos los comandos que usaremos en este laboratorio funcionan de la misma manera en MariaDB y MySQL.
  4. A menudo se considera que MariaDB es más ligero y rápido que MySQL, lo que lo convierte en una excelente opción para entornos de aprendizaje como este laboratorio. Puedes notar tiempos de respuesta más rápidos, lo que puede hacer que tu experiencia de aprendizaje sea más fluida.
  5. Muchas distribuciones de Linux, incluyendo algunas versiones de Ubuntu, ahora utilizan MariaDB como su sistema de base de datos compatible con MySQL predeterminado debido a su naturaleza de código abierto y sus beneficios de rendimiento.

Así que, cuando veas "MariaDB" en el indicador o la salida, solo recuerda que para los fines de este laboratorio, puedes pensar en él como MySQL. Todas las habilidades que aprendas aquí serán directamente aplicables tanto a MariaDB como a MySQL en escenarios del mundo real.

Explorar las bases de datos del sistema

Ahora que estamos en la shell de MySQL, exploremos las bases de datos del sistema. Estas son bases de datos que vienen preinstaladas con MySQL y contienen información importante sobre el propio servidor de MySQL.

En la shell de MySQL, ejecuta el siguiente comando:

SHOW DATABASES;

Nota: No olvides el punto y coma (;) al final del comando. Los comandos SQL deben terminar con un punto y coma.

MySQL databases list output

Este comando lista todas las bases de datos presentes en tu servidor de MySQL. Deberías ver una salida similar a esta:

+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.00 sec)

Desglosemos qué son estas bases de datos:

  • information_schema: Esta es una base de datos que proporciona acceso a los metadatos de la base de datos.
  • mysql: Esta base de datos contiene la información necesaria para el funcionamiento del servidor de MySQL.
  • performance_schema: Esta base de datos proporciona una forma de inspeccionar la ejecución interna del servidor en tiempo de ejecución.
  • sys: Esta base de datos contiene un conjunto de objetos que ayudan a los administradores de bases de datos (DBAs) y desarrolladores a interpretar los datos recopilados por performance_schema.

Para este laboratorio, nos centraremos en la base de datos mysql. Cambiemos a ella:

USE mysql;

Ahora, veamos qué tablas hay en esta base de datos:

SHOW TABLES;

Verás una larga lista de tablas. Estas tablas almacenan diversos datos de configuración y operación para MySQL.

Examinar los datos en las tablas del sistema

Ahora que hemos visto las tablas del sistema, examinemos los datos de una de ellas. La tabla user en la base de datos mysql contiene información sobre las cuentas de usuario de MySQL.

Ejecuta el siguiente comando para ver la estructura de la tabla user:

DESCRIBE user;

Esto te mostrará todas las columnas de la tabla user. Verás muchas columnas, ya que esta tabla contiene información detallada sobre cada usuario de MySQL.

Ahora, echemos un vistazo a algunos de los datos de esta tabla. Nos centraremos en algunas columnas clave:

SELECT User, Host, Password_expired FROM user;

Esta consulta selecciona tres columnas importantes de la tabla user:

  • User: El nombre de usuario de la cuenta de MySQL.
  • Host: El host desde el cual se permite que este usuario se conecte.
  • Password_expired: Indica si la contraseña ha expirado.

Deberías ver una salida similar a esta:

+-------------+-----------+------------------+
| User        | Host      | password_expired |
+-------------+-----------+------------------+
| mariadb.sys | localhost | Y                |
| root        | localhost | N                |
| mysql       | localhost | N                |
+-------------+-----------+------------------+
3 rows in set (0.001 sec)

Esta salida nos muestra las cuentas de usuario de MySQL que existen en el sistema. El usuario root es la cuenta administrativa principal, mientras que las otras son cuentas del sistema utilizadas por MySQL para diversos fines.

Para salir de la shell de MySQL, escribe:

EXIT;

Esto te devolverá al indicador normal de la terminal.

Resumen

En este laboratorio, hemos cubierto los pasos esenciales para trabajar con MySQL en un entorno de Docker. Hemos verificado la instalación de MySQL, asegurado la configuración inicial, accedido a la shell de MySQL, explorado las bases de datos del sistema y examinado los datos en las tablas del sistema.

Hemos aprendido cómo:

  1. Comprobar y gestionar el estado del servicio de MySQL
  2. Acceder a la shell de MySQL
  3. Ver las bases de datos del sistema
  4. Explorar las tablas dentro de las bases de datos del sistema
  5. Consultar datos de las tablas del sistema

Estas habilidades fundamentales constituyen la base para tareas de gestión de bases de datos más avanzadas. A medida que continúes tu viaje con MySQL, construirás sobre estos conceptos básicos para crear tus propias bases de datos, escribir consultas sofisticadas e integrar MySQL con diversas aplicaciones. Recuerda, la práctica es clave para dominar la gestión de bases de datos, así que no dudes en experimentar con diferentes comandos y explorar más las capacidades de MySQL.