Este artículo describe cómo realizar tareas comunes de administración de bases de datos MySQL desde la línea de comandos usando el programa mysql.

Crear usuarios y bases de datos

Para crear una base de datos MySQL y un usuario, siga estos pasos:

1- En la línea de comandos, inicie sesión en MySQL como usuario root:

mysql -u root -p

2- Escriba la contraseña de root de MySQL y luego presione Entrar.

3- Para crear un usuario de base de datos, escriba el siguiente comando. Reemplace el ‘username’ con el usuario que desea crear y reemplace ‘password’ con la contraseña del usuario:

GRANT ALL PRIVILEGES ON *.* TO 'username'@'localhost' IDENTIFIED BY 'password';

Este comando otorga al usuario todos los permisos. Sin embargo, puede otorgar permisos específicos para mantener un control preciso sobre el acceso a la base de datos. Por ejemplo, para otorgar explícitamente el permiso SELECT, usaría el siguiente comando:

GRANT SELECT ON *.* TO 'username'@'localhost';

Para obtener más información sobre cómo configurar los permisos de la base de datos MySQL, visite https://dev.mysql.com/doc/refman/5.5/en/grant.html.

4- Escriba \q para salir del programa mysql.

5- Para iniciar sesión en MySQL como el usuario que acaba de crear, escriba el siguiente comando. Reemplace el ‘username’ con el nombre del usuario que creó en el paso 3:

mysql -u username -p

6- Escriba la contraseña del usuario y, a continuación, presione Entrar.

7- Para crear una base de datos, escriba el siguiente comando. Reemplace dbname con el nombre de la base de datos que desea crear:

CREATE DATABASE dbname;

8- Para trabajar con la nueva base de datos, escriba el siguiente comando. Reemplace dbname con el nombre de la base de datos que creó en el paso 7:

USE dbname;

9- Ahora puedes trabajar con la base de datos. Por ejemplo, los siguientes comandos demuestran cómo crear una tabla básica llamada ejemplo, y cómo insertar algunos datos en ella:

CREATE TABLE ejemplo ( id smallint unsigned not null auto_increment, nombre varchar(20) not null, constraint pk_ejemplo primary key (id) );
INSERT INTO ejemplo ( id, nombre ) VALUES ( null, 'Juan' );

Usando archivos de script SQL

El procedimiento anterior muestra cómo crear y llenar una base de datos MySQL escribiendo cada comando interactivamente con el programa mysql. Sin embargo, puede simplificar el proceso combinando comandos en un archivo de script SQL.

El siguiente procedimiento demuestra cómo usar un archivo de script SQL para crear y llenar una base de datos:

1- Como en el procedimiento anterior, primero debe crear un usuario para la base de datos. Para hacer esto, escriba los siguientes comandos:

mysql -u root -p
GRANT ALL PRIVILEGES ON *.* TO 'username'@'localhost' IDENTIFIED BY 'password';
\q

2- Cree un archivo llamado ejemplo.sql y ábralo en su editor de texto preferido. Copia y pega el siguiente texto en el archivo:

CREATE DATABASE dbname;
USE dbname;
CREATE TABLE tablename ( id smallint unsigned not null auto_increment, nombre varchar(20) not null, constraint pk_example primary key (id) );
INSERT INTO tablename ( id, nombre) VALUES ( null, 'Juan' );

3- Reemplace dbname con el nombre de la base de datos que desea crear, y tablename con el nombre de la tabla que desea crear.

Puede modificar el archivo de script de muestra para crear varias bases de datos y tablas a la vez. Además, la secuencia de comandos de ejemplo crea una tabla muy simple.

4- Guarde los cambios en el archivo ejemplo.sql y salga del editor de texto.

5- Para procesar la secuencia de comandos SQL, escriba el siguiente comando. Reemplace el ‘username’ con el nombre del usuario que creó en el paso 1:

mysql -u username -p < ejemplo.sql

El programa mysql procesa la declaración del archivo de script por declaración. Cuando termina, se crean la base de datos y la tabla, y la tabla contiene los datos que especificó en las declaraciones INSERT.

Eliminar tablas y bases de datos

Para eliminar una tabla, escriba el siguiente comando desde el indicador mysql>. Reemplace tablename con el nombre de la tabla que desea eliminar:

DROP TABLE tablename;

Este comando supone que ya ha seleccionado una base de datos utilizando la declaración USE.

De forma similar, para eliminar una base de datos completa, escriba el siguiente comando desde el indicador mysql>. Reemplace dbname con el nombre de la base de datos que desea eliminar:

DROP DATABASE dbname;

El programa mysql no solicita confirmación cuando usa este comando. En cuanto presiona Entrar, MySQL borra la base de datos y todos los datos que contiene.

Borrando usuarios

Para ver una lista de todos los usuarios, escriba el siguiente comando desde el indicador mysql>:

SELECT user FROM mysql.user GROUP BY user;

Para eliminar un usuario específico, escriba el siguiente comando desde el indicador mysql>. Reemplace el ‘username’ con el nombre del usuario que desea eliminar:

DELETE FROM mysql.user WHERE user = 'username';

Más información

Para ver la documentación oficial de MySQL, visite https://dev.mysql.com/doc/refman/5.5/en/index.html.

Espero que te haya servido esta guía sobre Cómo gestionar bases de datos y usuarios en MySQL desde la línea de comandos. Comenta y comparte