Introducción
MySQL es un sistema de administración de bases de datos de código abierto que utiliza el lenguaje de consulta estructurado (SQL) para agregar, acceder y administrar contenido en una base de datos.
MySQL funciona en prácticamente todas las plataformas y se relaciona principalmente con la publicación en línea y las aplicaciones web. El propio SQL es conocido por su confiabilidad, procesamiento rápido y flexibilidad y facilidad de uso inimitables.
Como uno de los mejores sistemas de bases de datos, MySQL ofrece una serie de opciones para permitir que los nuevos usuarios almacenen, organicen o recuperen datos. Este tutorial le muestra cómo generar nuevos usuarios en MySQL y cómo asignar permisos MySQL específicos de usuario.
antes de que empieces
Para que este tutorial funcione sin problemas, necesitará lo siguiente:
- MySQL se proporciona en un servidor a través de un servicio de hosting que admite el hosting MySQL. Alternativamente, MariaDB debe implementarse en su servidor.
Paso 1: crear un nuevo usuario
Si está familiarizado con MySQL, sabrá cómo realizar algunas ediciones básicas en una base de datos MySQL como usuario root con acceso completo a las bases de datos. Sin embargo, en algunos casos, es posible que desee crear cuentas de usuario con más restricciones. Aquí es donde este tutorial resulta útil.
Primero, ejecute el siguiente comando para iniciar sesión en la línea de comandos de MySQL.
$ sudo mysql -u root -p
Ingrese sus credenciales de MySQL y presione INGRESAR Iniciar sesión.
Nota: Si no ha configurado una contraseña para el usuario raíz de la base de datos MySQL, elimínela -pag Marcar desde el comando anterior.
Ejecute el siguiente comando para generar un nuevo usuario en MySQL:
mysql>
CREATEUSER'hostuser'@'localhost'IDENTIFIEDBY'user_password';
Nota: Recuerda reemplazar Usuario anfitrión con tu nombre de usuario ideal y Contraseña de usuario con una contraseña lo suficientemente fuerte pero fácil de recuperar.
La ‘Usuario de host ‘@’ localhost‘en este comando significa que localhost es el host del nuevo usuario, no la dirección IP de su servidor. De esto se puede deducir que el nuevo usuario solo se conectará a su servidor MySQL desde su host local.
Si desea que el usuario se conecte a su servidor de base de datos desde un host diferente, puede reemplazar ese host ‘localhost’ con la dirección IP de su servidor. Por ejemplo, si desea otorgar acceso desde su servidor con la dirección IP 127.8.0.5, ejecute el siguiente comando:
mysql>
CREATEUSER'hostuser'@'%'IDENTIFIEDBY'user_password';
Además, si desea permitir el acceso desde otro host, reemplace ‘localhost‘ con el ‘%.‘Marcador de posición para el comando:
mysql>
CREATEUSER'hostuser'@'%'IDENTIFIEDBY'user_password';
Ahora tiene un nuevo usuario llamado Usuario anfitrión, pero no le ha dado permiso a este usuario. Cuando el usuario del host intenta iniciar sesión, no puede acceder a la línea de comandos de MySQL.
Paso 2: conceda permisos al nuevo usuario
Como se mencionó anteriormente, MySQL le otorga una serie de permisos que puede otorgar al usuario recién creado. La lista es larga y puedes ver todas las opciones aquí. Este tutorial destaca algunos de los permisos más utilizados. Éstas incluyen:
- TODOS LOS PRIVILEGIOS: Como sugiere el nombre, este comando brinda a los usuarios acceso sin restricciones a una base de datos específica. Esto significa que el nuevo usuario tiene todos los permisos para realizar todas las funciones en la base de datos especificada.
- CREAR: El usuario tiene autorización para crear tablas y bases de datos.
- CLARO: El usuario puede eliminar filas de la tabla especificada.
- OTOÑO: El usuario puede eliminar tablas y bases de datos.
- INSERTAR: El usuario puede agregar filas a una tabla específica
- ESCOGER: El usuario tiene autorización para leer la base de datos especificada.
- ACTUALIZAR: El usuario puede actualizar las filas de una tabla.
- OPCIÓN DE SUBVENCIÓN: El usuario puede otorgar o eliminar los permisos de otros usuarios.
La sintaxis o marco básico del comando utilizado para otorgar permisos a nuevos usuarios toma la forma:
mysql>
GRANT type_of_permission ON database_name.table_name TO'hostuser'@'localhost';
Si está otorgando múltiples permisos a un usuario, el comando toma la siguiente forma:
mysql>
GRANT permission1, permission2 ON database_name.table_name TO'hostuser'@'localhost';
Si le está dando acceso a un nuevo usuario a una tabla o base de datos, reemplace el nombre de la tabla o base de datos con un asterisco
.
Ejemplos de Conceder ‘Hostuser’
Ejecute el comando para cumplir con todos los permisos:
GRANT ALL PRIVILEGESON database_name.* TO'hostuser'@'localhost';
mysql> Junto a la concesión ‘Hostuser’
Ejecute el siguiente comando para obtener permisos en todas sus bases de datos:
GRANT ALL PRIVILEGESON *.* TO'hostuser'@'localhost';
mysql> Si quieres conceder ‘Hostuser’
Permisos en una tabla específica con una base de datos específica y luego ejecute el siguiente comando:
GRANT ALL PRIVILEGESON database_name.table_name TO'hostuser'@'localhost';
mysql> Entonces concede ‘Hostuser’
Ejecute el siguiente comando cuando tenga múltiples privilegios en una base de datos en particular:
GRANTSELECT, INSERT, DELETEON database_name.* TO hostuser@'localhost';
mysql>
Cuando haya otorgado todos los permisos necesarios, ejecute el siguiente comando para eliminar los cambios y hacer que los permisos sean válidos:
FLUSHPRIVILEGES;
mysql>
Paso 3: administrar los derechos de los usuarios
Ver derechos de usuario Si quieres saber el permiso asignado ‘Hostuser’,
Ejecute el siguiente comando:
SHOWGRANTSFOR'hostuser'@'localhost';
mysql>
+---------------------------------------------------------------------------+ | Grants for hostuser'@localhost | +---------------------------------------------------------------------------+ | GRANTUSAGEON *.* TO'hostuser'@'localhost' | | GRANT ALL PRIVILEGESON`database_name`.* TO'hostuser'@'localhost' | +---------------------------------------------------------------------------+ 2rowsinset (0.00 sec)
Esto le dará un resultado similar al siguiente:
Revocar permisos El comando utilizado para revocar uno o más permisos otorgados ‘Hostuser’
utiliza la siguiente sintaxis:
REVOKE type_of_permission ON database_name.table_name FROM'hostuser'@'localhost';
mysql> Por ejemplo, para revocar todos los permisos concedidos a ‘Hostuser’
Desde una base de datos específica, ejecute el siguiente comando:
REVOKE ALL PRIVILEGESON database_name.* TO'database_user'@'localhost';
mysql>
Eliminar ‘Hostuser’
Si por alguna razón desea eliminar al nuevo usuario, ejecute el siguiente comando:
DROPUSER'hostuser'@'localhost'
mysql> Este comando será eliminado ‘Hostuser’
junto con todos sus permisos.
Conclusión
¡Eso es! Aprendió a crear una nueva cuenta de usuario de base de datos MySQL y a asignar ciertos permisos. El tutorial cubre algunos de los permisos que puede asignar a un usuario recién creado. Existen numerosas opciones de privilegios que se pueden asignar a un usuario de MySQL. Explore estas opciones y no dude en asignarlas en consecuencia.