1. Introducción
1.1 Descripción general de MySQL y la importancia de la línea de comandos
MySQL es un sistema de gestión de bases de datos relacional (RDBMS) de código abierto ampliamente utilizado. Sus principales ventajas son la gestión eficiente de datos y la posibilidad de realizar operaciones flexibles mediante SQL (Structured Query Language). Se utiliza en numerosas aplicaciones web y sistemas empresariales, y sus potentes funciones se aprovechan al máximo a través de la línea de comandos de MySQL.
1.2 Propósito del artículo
En este artículo nos centraremos en el uso de la línea de comandos de MySQL, explicando desde los comandos básicos para crear y administrar bases de datos y configurar permisos de usuario, hasta aplicaciones más avanzadas. El objetivo es que principiantes e intermedios adquieran los conocimientos prácticos necesarios para dominar MySQL.
1.3 Audiencia objetivo
Esta guía está dirigida a principiantes e intermedios interesados en MySQL. Es ideal para quienes ya poseen conocimientos básicos sobre bases de datos y desean comenzar a gestionar datos o desarrollar aplicaciones web utilizando MySQL.
2. Comandos básicos de MySQL
2.1 Conexión y desconexión de la base de datos
Para acceder a MySQL, primero es necesario conectarse a la base de datos. El comando más utilizado para iniciar sesión en el servidor MySQL es mysql -u root -p
. Este comando inicia el servidor MySQL e intenta la conexión con el usuario especificado (en este caso, root).
mysql -u root -p
Al ejecutar este comando, se solicitará la contraseña. Si se ingresa la contraseña correcta, se podrá acceder a la línea de comandos de MySQL.
Para desconectarse, se usan los comandos exit
o quit
.
exit
Esto cerrará la sesión en el servidor MySQL y retornará al símbolo del sistema.
2.2 Creación y visualización de bases de datos
Para crear una nueva base de datos, se utiliza el comando CREATE DATABASE
. El siguiente ejemplo crea una base de datos llamada mysqldemo
:
CREATE DATABASE mysqldemo;
Tras ejecutar el comando, aparecerá el mensaje «Query OK», confirmando que la base de datos se ha creado correctamente.
Para mostrar la lista de bases de datos creadas, se utiliza el comando SHOW DATABASES
:
SHOW DATABASES;
Este comando muestra todas las bases de datos disponibles en el servidor.
2.3 Selección de una base de datos
Cuando existen múltiples bases de datos, es necesario especificar cuál se va a utilizar. Con el comando USE
se selecciona la base de datos activa.
USE mysqldemo;
De esta manera, la base de datos mysqldemo
se convierte en el objetivo de las operaciones, y todos los comandos posteriores se ejecutarán sobre ella.

3. Comandos básicos para la gestión de tablas
3.1 Creación de tablas
Para almacenar datos en una base de datos, primero es necesario crear una tabla. Se utiliza el comando CREATE TABLE
para generar una nueva tabla. Por ejemplo, para crear una tabla llamada users
, se puede usar el siguiente comando:
CREATE TABLE users (
id INT AUTO_INCREMENT,
name VARCHAR(255),
email VARCHAR(255),
PRIMARY KEY (id)
);
Este comando define tres columnas (id
, name
y email
) en la tabla users
. La columna id
es un número entero con incremento automático (AUTO_INCREMENT) y se establece como clave primaria (PRIMARY KEY).
3.2 Visualización de tablas
Una vez creada una tabla, es posible verificar el listado de tablas dentro de la base de datos activa. Con el comando SHOW TABLES
se muestran todas las tablas disponibles.
SHOW TABLES;
Si se desea revisar la estructura de una tabla específica, se utiliza el comando DESCRIBE
, que muestra la información de las columnas y sus tipos de datos.
DESCRIBE users;
Este comando devuelve la lista de columnas de la tabla users
, indicando sus tipos de datos y atributos (permitir NULL, claves, etc.).
3.3 Inserción y visualización de datos
Para añadir datos a una tabla se emplea el comando INSERT INTO
. Por ejemplo, para agregar un nuevo usuario:
INSERT INTO users (name, email) VALUES ('John Doe', 'john@example.com');
Este comando inserta un nuevo registro en la tabla users
, asignando valores a las columnas name
y email
.
Para visualizar los datos insertados, se utiliza el comando SELECT
. Si se desean mostrar todos los usuarios:
SELECT * FROM users;
Esto mostrará todos los registros existentes en la tabla users
.
4. Gestión de usuarios y seguridad
4.1 Creación de usuarios y asignación de permisos
En MySQL es fundamental crear usuarios con permisos específicos para acceder a las bases de datos. Para crear un usuario se utiliza el comando CREATE USER
. El siguiente ejemplo crea un usuario user1
en localhost
con la contraseña password123
:
CREATE USER 'user1'@'localhost' IDENTIFIED BY 'password123';
Este comando genera un nuevo usuario llamado user1
, restringido a conexiones desde localhost
.
Para otorgar permisos a este usuario, se emplea el comando GRANT
. Por ejemplo, para darle todos los permisos sobre la base de datos mysqldemo
:
GRANT ALL PRIVILEGES ON mysqldemo.* TO 'user1'@'localhost';
Este comando concede a user1
acceso total a todas las tablas dentro de mysqldemo
. Para que los cambios surtan efecto, se ejecuta el comando FLUSH PRIVILEGES
:
FLUSH PRIVILEGES;
4.2 Cambio de contraseñas
Para modificar la contraseña de un usuario existente, se puede usar el comando UPDATE
sobre la tabla user
de la base de datos mysql
. El siguiente ejemplo cambia la contraseña del usuario root
:
UPDATE mysql.user SET authentication_string = PASSWORD('newpassword') WHERE User = 'root';
FLUSH PRIVILEGES;
Esto actualizará la contraseña de root
a newpassword
. Con FLUSH PRIVILEGES
se aplican los cambios.
4.3 Mejores prácticas para reforzar la seguridad
Para fortalecer la seguridad en MySQL, es recomendable seguir estas prácticas:
- Eliminar usuarios anónimos: borra las cuentas anónimas predeterminadas para asegurar que solo los usuarios autenticados accedan a la base de datos.
- Deshabilitar el acceso remoto para root: impide que el usuario
root
se conecte desde ubicaciones remotas. - Usar contraseñas fuertes: utiliza contraseñas seguras y cámbialas regularmente.
Con estas medidas se refuerza la protección de la base de datos y se previenen accesos no autorizados.

5. Comandos avanzados de MySQL
5.1 Actualización y eliminación de datos
Para actualizar datos en una tabla se utiliza el comando UPDATE
. Por ejemplo, para modificar la columna name
en la tabla users
:
UPDATE users SET name = 'Jane Doe' WHERE id = 1;
Este comando cambia el valor de la columna name
a Jane Doe
en el registro cuyo id
sea 1
. Es importante usar la cláusula WHERE
, de lo contrario se actualizarán todos los registros de la tabla.
Para eliminar datos, se emplea el comando DELETE
. Por ejemplo, para borrar el registro con id
igual a 1
:
DELETE FROM users WHERE id = 1;
Esto eliminará el registro correspondiente de la tabla users
.
5.2 Copias de seguridad y restauración
Para crear una copia de seguridad de la base de datos se usa el comando mysqldump
, que exporta toda la base de datos a un archivo SQL. Por ejemplo, para respaldar la base mysqldemo
:
mysqldump -u root -p mysqldemo > mysqldemo_backup.sql
Para restaurar (importar) la base de datos desde un archivo de respaldo, se utiliza el comando source
o la redirección con mysql
:
mysql -u root -p mysqldemo < mysqldemo_backup.sql
Este comando importará el contenido del archivo mysqldemo_backup.sql
en la base de datos mysqldemo
.
5.3 Inicio y detención del servidor
Para iniciar el servidor MySQL desde la línea de comandos, se utiliza el comando mysqld
. En entornos Windows, por ejemplo:
"C:Program FilesMySQLMySQL Server 5.7binmysqld"
Para detener el servidor se usa el comando mysqladmin
:
"C:Program FilesMySQLMySQL Server 5.7binmysqladmin" -u root -p shutdown
Con esto, el servidor MySQL se detiene correctamente. Este método es especialmente útil cuando no se dispone de herramientas gráficas (GUI).
6. Resolución de problemas
6.1 Errores comunes y soluciones
Uno de los errores más frecuentes en MySQL es "Access denied for user", que ocurre cuando el usuario o la contraseña no son correctos. La solución consiste en verificar y usar las credenciales correctas.
Otro error habitual es "Unknown database", que aparece cuando la base de datos especificada no existe. En este caso, se puede usar el comando SHOW DATABASES
para confirmar si existe y crearla si es necesario:
SHOW DATABASES;
CREATE DATABASE db_name;
6.2 Consejos y precauciones al manipular bases de datos
Al trabajar con bases de datos en MySQL, se recomienda seguir estas prácticas:
- Hacer copias de seguridad: antes de realizar operaciones críticas, siempre respalda la base de datos para poder recuperarla en caso de errores.
- Uso de transacciones: cuando se ejecutan múltiples consultas relacionadas, utiliza transacciones (
START TRANSACTION
,COMMIT
,ROLLBACK
) para mantener la consistencia de los datos. - Definir condiciones precisas: al usar
UPDATE
oDELETE
, especifica bien la cláusulaWHERE
para evitar cambios o eliminaciones no deseadas.
Aplicando estas precauciones, se pueden evitar problemas y garantizar operaciones más seguras en MySQL.
7. Conclusión
La línea de comandos de MySQL es una herramienta poderosa que permite gestionar bases de datos desde tareas básicas hasta operaciones avanzadas de manera eficiente. En este artículo hemos revisado la creación de bases de datos, gestión de tablas, administración de usuarios, y operaciones de actualización y eliminación de datos.
En el ámbito de bases de datos, la seguridad y la integridad de la información son esenciales. Por ello, es importante aplicar buenas prácticas como la gestión de permisos, el uso de contraseñas seguras y la realización de copias de seguridad. Además, contar con conocimientos de resolución de problemas ayuda a reaccionar rápidamente ante errores.
Dominar los comandos de MySQL permite administrar bases de datos de forma más eficiente y segura. Con práctica constante y la aplicación de lo aprendido, se puede lograr un manejo sólido y confiable de MySQL.