Conectar al servidor MySQL
Una vez que tienes MySQL instalado y el servicio corriendo, el siguiente paso es conectarte al servidor. MySQL soporta múltiples formas de conexión, desde el cliente de línea de comandos hasta herramientas gráficas y conexiones desde lenguajes de programación. En este artículo nos centraremos en las formas más directas de establecer una conexión.
Conexión con el cliente de línea de comandos
El programa mysql es el cliente de línea de comandos que se instala junto con el servidor. Es la herramienta más directa para interactuar con MySQL y la que usaremos a lo largo de este tutorial para los ejemplos.
La sintaxis básica de conexión es:
mysql -u nombre_usuario -pLa opción -u especifica el nombre de usuario y -p indica que quieres introducir la contraseña de forma interactiva. Al ejecutar este comando, MySQL te pedirá la contraseña sin mostrarla en pantalla por seguridad.
Para conectarte como el usuario root en una instalación local:
mysql -u root -p
Enter password: ********Si la conexión es exitosa, verás el prompt de MySQL listo para recibir instrucciones:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 12
Server version: 8.4.0 MySQL Community Server - GPL
Copyright (c) 2000, 2024, Oracle and/or its affiliates.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
Desde este prompt puedes escribir cualquier sentencia SQL. Cada sentencia debe terminar con punto y coma (;) o con \g. Prueba ejecutando una consulta simple:
SELECT CURRENT_DATE AS fecha, CURRENT_TIME AS hora, VERSION() AS version;| fecha | hora | version |
|---|---|---|
| 2026-02-14 | 15:30:22 | 8.4.0 |
Para salir del cliente MySQL, escribe EXIT;, QUIT; o presiona Ctrl+D.
Opciones de conexión más utilizadas
El cliente mysql acepta numerosas opciones que permiten controlar cómo y dónde se conecta. Las más habituales son las siguientes.
Especificar el host
Por defecto, mysql se conecta al servidor local (localhost). Si necesitas conectarte a un servidor en otra máquina, usa la opción -h:
mysql -h 192.168.1.100 -u usuario -pTambién puedes usar un nombre de dominio:
mysql -h db.miempresa.com -u usuario -pEspecificar el puerto
MySQL usa el puerto 3306 por defecto. Si tu servidor está configurado en un puerto diferente, indícalo con -P (P mayúscula):
mysql -h 192.168.1.100 -P 3307 -u usuario -pNo confundas -p (contraseña, minúscula) con -P (puerto, mayúscula). Es un error muy común que produce mensajes de conexión confusos.
Conectar directamente a una base de datos
Puedes especificar la base de datos a la que quieres acceder directamente en el comando de conexión, añadiendo su nombre al final:
mysql -u root -p tiendaEsto equivale a conectarse y luego ejecutar USE tienda;. Es más cómodo cuando sabes de antemano con qué base de datos vas a trabajar.
Ejecutar una consulta sin entrar al prompt
La opción -e permite ejecutar una sentencia SQL directamente desde la terminal sin entrar al modo interactivo. Es muy útil para scripts y automatización:
mysql -u root -p -e "SHOW DATABASES;"| Database |
|---|
| information_schema |
| mysql |
| performance_schema |
| sys |
Puedes encadenar varias sentencias separándolas con punto y coma:
mysql -u root -p -e "USE tienda; SELECT COUNT(*) FROM productos;"Conexión con MySQL Workbench
MySQL Workbench es la herramienta gráfica oficial de Oracle para trabajar con MySQL. Ofrece un editor SQL con resaltado de sintaxis y autocompletado, un diseñador visual de esquemas, herramientas de administración del servidor y capacidades de migración de datos.
Al abrir MySQL Workbench, verás la pantalla principal con las conexiones guardadas. Para crear una nueva conexión, haz clic en el botón + junto a "MySQL Connections".
En el formulario de nueva conexión, rellena los datos de tu servidor. Para una instalación local típica, los valores serían: Connection Name un nombre descriptivo como "Local MySQL", Hostname sería 127.0.0.1, Port el 3306, Username el root. Haz clic en "Test Connection" para verificar que los datos son correctos antes de guardar.
Una vez conectado, Workbench muestra un editor donde puedes escribir consultas SQL. Escribe tu consulta y presiona Ctrl+Enter (o el botón del rayo) para ejecutarla. Los resultados aparecen en un panel inferior en forma de tabla, lo que facilita la lectura de grandes conjuntos de datos.
El panel izquierdo muestra el navegador de esquemas, donde puedes explorar las bases de datos, tablas, vistas, procedimientos y funciones disponibles en el servidor. Hacer doble clic en una tabla muestra su estructura, y clic derecho ofrece opciones como ver los datos, editar la estructura o generar sentencias SQL.
Conexión con MySQL Shell
MySQL Shell (el comando mysqlsh) es un cliente moderno que soporta SQL, JavaScript y Python. Oracle lo desarrolló como evolución del cliente clásico mysql, con funcionalidades adicionales como autocompletado avanzado, resaltado de sintaxis en la terminal y soporte para el protocolo X DevAPI.
mysqlsh root@localhostMySQL Shell arranca por defecto en modo JavaScript. Para cambiar a modo SQL, que es lo que usaremos en este tutorial, ejecuta:
\sql
O bien, conéctate directamente en modo SQL:
mysqlsh --sql root@localhostUna de las ventajas de MySQL Shell es que muestra los resultados en un formato más legible que el cliente clásico, con colores y bordes más claros. También permite exportar resultados a JSON, formatear la salida de diferentes maneras y ejecutar scripts completos.
Verificar las bases de datos disponibles
Independientemente de cómo te conectes, una de las primeras cosas que querrás hacer es ver qué bases de datos existen en el servidor. Ejecuta:
SHOW DATABASES;| Database |
|---|
| information_schema |
| mysql |
| performance_schema |
| sys |
Estas cuatro bases de datos vienen incluidas en toda instalación de MySQL. La base information_schema contiene metadatos sobre todas las demás bases de datos y tablas. La base mysql almacena las cuentas de usuario, permisos y configuración del servidor. La base performance_schema recopila métricas de rendimiento. La base sys proporciona vistas simplificadas de performance_schema para facilitar el diagnóstico.
Ninguna de estas bases debe modificarse directamente (excepto mysql para gestión de usuarios mediante sentencias SQL apropiadas). Más adelante aprenderás a crear tus propias bases de datos.
Crear un usuario para desarrollo
Trabajar siempre como root no es recomendable, ni siquiera en desarrollo. Es buena práctica crear un usuario específico para tus proyectos. Conéctate como root y ejecuta:
CREATE USER 'dev'@'localhost' IDENTIFIED BY 'contraseña_desarrollo';Este comando crea un usuario llamado dev que solo puede conectarse desde la máquina local. Ahora dale permisos sobre una base de datos específica. Como todavía no hemos creado ninguna, vamos a darle permisos amplios por ahora:
GRANT ALL PRIVILEGES ON *.* TO 'dev'@'localhost';
FLUSH PRIVILEGES;El *.* significa "todas las bases de datos y todas las tablas". En un entorno de producción restringirías esto a bases de datos específicas, pero para aprendizaje es conveniente tener acceso total.
Ahora puedes desconectarte y reconectarte con tu nuevo usuario:
mysql -u dev -pVerifica que la conexión funciona ejecutando SELECT CURRENT_USER();. Deberías ver dev@localhost.
Mantener la conexión y reconectar
Una conexión a MySQL puede cerrarse si permanece inactiva durante demasiado tiempo. El parámetro wait_timeout del servidor (por defecto 28,800 segundos, o 8 horas) define cuánto tiempo espera antes de cerrar una conexión inactiva.
Si estás trabajando en el cliente de línea de comandos y la conexión se cierra, verás un mensaje como "MySQL server has gone away" o "Lost connection to MySQL server". Simplemente vuelve a conectarte con el mismo comando que usaste originalmente.
Para comprobar cuánto tiempo de timeout tiene configurado tu servidor:
SHOW VARIABLES LIKE 'wait_timeout';| Variable_name | Value |
|---|---|
| wait_timeout | 28800 |
En el siguiente artículo crearemos una base de datos de ejemplo que utilizaremos a lo largo de todo el tutorial para practicar las consultas.
Escrito por Eduardo Lázaro
