目次
1. Introducción
La gestión de usuarios de MySQL es una tarea importante e indispensable para la seguridad de la base de datos y su operación eficiente. En particular, al identificar qué usuarios pueden acceder a la base de datos y qué permisos poseen, se pueden aplicar restricciones de acceso y reforzar la seguridad. En este artículo se explica ampliamente cómo mostrar la lista de usuarios de MySQL, obtener información detallada, crear y administrar usuarios, y cómo resolver errores comunes. Así podrá comprender los conceptos básicos y los procedimientos prácticos de la gestión de usuarios en MySQL.2. Método para obtener la lista de usuarios
Para obtener la lista de usuarios en MySQL, se utiliza la tabla «mysql.user». Esta tabla contiene la información de todos los usuarios registrados en MySQL y permite mostrar la información necesaria con un comando sencillo.Fundamentos de la visualización de la lista de usuarios
Primero, inicie sesión en MySQL y ejecute el siguiente comando.SELECT Host, User FROM mysql.user;
Este comando muestra una lista con el «nombre de host» y el «nombre de usuario» de cada cuenta. Por ejemplo, pueden aparecer «localhost» o «127.0.0.1» como nombres de host, los cuales corresponden a conexiones locales IPv4 e IPv6 respectivamente. Esta es una configuración común en la gestión de usuarios en entornos locales.Obtención completa de la información de usuarios
Además, para revisar información más detallada, es posible mostrar todas las columnas de la tabla «mysql.user» con el siguiente comando.SELECT * FROM mysql.user;
Este comando muestra información detallada por usuario (por ejemplo, datos de autenticación y configuraciones de privilegios), pero normalmente es más legible especificar solo las columnas necesarias. Aprovechando lo anterior, se puede obtener información más amplia; sin embargo, para una salida visualmente organizada, también resulta útil seleccionar columnas específicas.3. Obtención de información detallada del usuario
En MySQL, también es posible obtener el hash de la contraseña del usuario y la información de permisos. Esto hace que la gestión de usuarios sea aún más eficiente.Método para mostrar el hash de la contraseña
En MySQL, las contraseñas están cifradas y se guardan como hash en la columna «authentication_string». Con el siguiente comando, puedes verificar el nombre de host del usuario, el nombre de usuario y el hash de la contraseña.SELECT Host, User, authentication_string FROM mysql.user;
Con este resultado, puedes comprobar si cada usuario tiene una contraseña establecida. El valor hash de la contraseña se muestra, pero no se puede descifrar, lo que mantiene la seguridad. Es un método muy útil al verificar usuarios nuevos y el estado de los permisos otorgados.Verificación de permisos de un usuario específico
Para investigar qué permisos tiene un usuario sobre bases de datos o tablas, se utiliza el comando «SHOW GRANTS».SHOW GRANTS FOR 'nombre de usuario'@'nombre de host';
Esto mostrará una lista de todos los permisos otorgados al usuario especificado. Es un comando útil para que los administradores de bases de datos decidan qué permisos conceder a un usuario en particular.4. Creación y gestión de usuarios
Se presenta cómo crear usuarios nuevos en MySQL y establecer o modificar sus permisos.Creación de un nuevo usuario
Para crear un nuevo usuario, se utiliza la sentencia «CREATE USER». A continuación se muestra un ejemplo que crea el usuario «example_user» y establece la contraseña «password123».CREATE USER 'example_user'@'localhost' IDENTIFIED BY 'password123';
Después de crear el usuario, es necesario ejecutar «FLUSH PRIVILEGES» para que MySQL refleje los cambios.FLUSH PRIVILEGES;
Precauciones al eliminar usuarios
Para eliminar usuarios innecesarios, se utiliza el comando «DROP USER». Sin embargo, antes de eliminar un usuario, es importante verificar el impacto en los permisos y datos relacionados. Por ejemplo, si el usuario que se va a eliminar está integrado con otros sistemas o servicios, podría quedar inaccesible después de la eliminación, por lo que se requiere precaución.
5. Errores comunes y sus soluciones
En la gestión de usuarios de MySQL pueden ocurrir errores. Aquí explicamos los errores más comunes y sus soluciones.Error de permisos «Access denied»
El error «Access denied» ocurre cuando el usuario no tiene los permisos adecuados sobre la base de datos o la tabla. En ese caso, el administrador puede resolverlo otorgando los permisos necesarios al usuario. Con el siguiente comando se pueden conceder permisos a una base de datos específica.GRANT ALL PRIVILEGES ON database_name.* TO 'nombre de usuario'@'nombre del host';
FLUSH PRIVILEGES;
Error de autenticación de usuario «Unknown user»
El error «Unknown user» ocurre cuando el usuario especificado no existe. Si aparece este error, verifique que el nombre de usuario y el host estén correctos, o que el usuario correspondiente exista en la tabla «mysql.user».Errores relacionados con la contraseña
Si se produce una discrepancia de contraseña o un error de autenticación, puede solucionarse volviendo a establecer la contraseña. Use el siguiente comando para restablecer la contraseña.ALTER USER 'nombre de usuario'@'nombre del host' IDENTIFIED BY 'nueva contraseña';