Introducción
MySQL le permite crear múltiples cuentas de usuario y otorgar los privilegios adecuados para que los usuarios puedan conectarse y administrar la base de datos.
Si la cuenta de usuario ya no es necesaria, es una buena idea eliminar los privilegios de usuario o eliminar la cuenta de usuario por completo.
Este tutorial explica cómo eliminar cuentas de usuario de MySQL /MariaDB.
La declaración DROP USER
En MySQL, puede eliminar uno o más usuarios y asignar privilegios con la declaración DROP USER. La sintaxis general de esta declaración es la siguiente:
DROP USER [IF EXISTS] USER_ACCOUNT [, USER_ACCOUNT]...
Por ejemplo, para eliminar el inicio de sesión del usuario username @ localhost en el shell de MySQL, ejecute el siguiente comando:
DROP USER 'nomeutente@localhost';
Si tiene éxito, el comando devolverá un mensaje de salida similar al siguiente:
Query OK, 0 rows affected (0.00 sec)
Para eliminar varias cuentas de usuario en un solo comando, ejecute la instrucción DROP USER seguida de los usuarios que desea eliminar separados por un espacio:
DROP USER 'nomeutente@localhost' 'any@localhost';
Si intenta eliminar una cuenta de usuario que no existe y no se utiliza la instrucción IF EXISTS, el comando devolverá un error.
Si el usuario que está intentando eliminar está actualmente conectado, la sesión del usuario no se cerrará y el usuario podrá realizar consultas hasta que finalice la sesión. Una vez cerrada la sesión, el usuario se elimina y ya no será posible acceder al servidor MySQL.
Las bases de datos y los objetos creados por el usuario no se eliminan automáticamente.
Cómo eliminar cuentas de usuario de MySQL
Esta sección proporciona instrucciones detalladas sobre cómo enumerar y eliminar cuentas de usuario de MySQL.
Primero, inicie sesión en el shell de MySQL con el usuario root u otro usuario administrativo. Para hacer esto, escriba el siguiente comando:
sudo mysql
Si está utilizando el antiguo complemento de autenticación MySQL nativo para iniciar sesión como root, ejecute el siguiente comando e ingrese la contraseña cuando se le solicite:
mysql -u root -p
Los siguientes comandos se ejecutan dentro del shell MySQL.
MySQL almacena la información del usuario en la tabla de usuarios en la base de datos MySQL. Utilice la siguiente consulta para obtener una lista de todas las cuentas de usuario de MySQL:
SELECT User, Host FROM mysql.user;
La salida debería verse así:
+------------------+-----------+
| user | host |
+------------------+-----------+
| root | localhost |
| piero | % |
| noviello | localhost |
+------------------+-----------+
3 rows in set (0.00 sec)
Por ejemplo, intentemos eliminar la cuenta de usuario de MySQL piero @ localhost
Para eliminar el usuario, ejecute:
DROP USER 'piero'@'localhost'
Query OK, 0 rows affected (0.00 sec)
El comando eliminará la cuenta de usuario y sus privilegios.
Conclusión
Para eliminar una cuenta de usuario de MySQL, use la instrucción DROP USER seguida del nombre del usuario que desea eliminar.