El comando GRANT ALL PRIVILEGES en MariaDB otorga todos los permisos de usuario sobre una base de datos existente. Así, los usuarios pueden crear, modificar y eliminar tablas sin restricciones.

¿Qué es MariaDB GRANT ALL PRIVILEGES?

El comando GRANT ALL PRIVILEGES en MariaDB otorga al usuario todos los permisos sobre una o varias bases de datos. Concede todos los permisos disponibles, incluidos la creación, modificación y eliminación de tablas, así como el acceso a funciones administrativas. Si usas GRANT ALL PRIVILEGES de forma controlada, podrás gestionar eficazmente los permisos en tu entorno de bases de datos.

Para poder aplicar GRANT ALL PRIVILEGES en MariaDB, necesitas permisos avanzados del sistema. Normalmente, se requiere el privilegio SUPER o la opción GRANT OPTION para otorgar privilegios. Inicia sesión con una cuenta de usuario administrativa y asegúrate de tener una conexión estable con la instancia de base de datos correcta. Es importante definir con precisión el nombre de usuario y el prefijo del host para evitar la asignación involuntaria de permisos. También debes comprobar si la base de datos de destino ya existe, ya que el comando solo se puede aplicar a bases de datos existentes.

Compute Engine
La solución IaaS ideal para tus cargas de trabajo
  • vCPU económico con núcleos dedicados
  • Flexible y sin periodo mínimo contractual
  • Soporte experto 24/7

Sintaxis del comando MariaDB GRANT ALL PRIVILEGES

La estructura básica para otorgar todos los permisos sobre una base de datos en MariaDB es la siguiente:

GRANT ALL PRIVILEGES ON database.* TO 'username'@'host';
sql

La expresión GRANT ALL PRIVILEGES en MariaDB otorga al usuario indicado todos los permisos sobre la base de datos seleccionada. Mediante 'username'@host defines a qué usuario y desde qué host se le permite el acceso. Opcionalmente, puedes asignar una contraseña en el mismo comando para autenticar al usuario.

Una vez que ejecutes el comando, los cambios no tendrán efecto hasta que recargues los privilegios:

FLUSH PRIVILEGES;
sql

Así te aseguras de que los permisos se activen al instante y se guarden correctamente en el sistema.

Guía paso a paso: cómo crear un usuario y asignarle permisos

Para crear un nuevo usuario en MariaDB y asignarle permisos completos, sigue estos pasos:

Paso 1: crea el usuario

Primero, crea un nuevo usuario con una contraseña segura. Para ello, utiliza el siguiente comando:

CREATE USER 'newuser'@localhost IDENTIFIED BY 'strongpassword';
sql

Con el comando MariaDB CREATE USER creas un nuevo usuario y le asignas una contraseña. Sustituye newuser por el nombre de usuario que desees y strongpassword por una contraseña segura y personalizada. La especificación localhost limita el acceso a conexiones desde el servidor local. Si quieres permitir el acceso desde otro host, reemplaza localhost por la dirección IP o el nombre de host del servidor desde el que se realizará la conexión.

Paso 2: otorga todos los permisos sobre una base de datos

El comando MariaDB GRANT ALL PRIVILEGES asigna al usuario todos los privilegios disponibles sobre todas las tablas de la base de datos database_name. El asterisco * indica que los permisos se aplican a cada tabla dentro de esa base de datos.

GRANT ALL PRIVILEGES ON database_name.* TO 'newuser'@localhost;
sql

Paso 3: permite la delegación de permisos (GRANT OPTION)

Al añadir WITH GRANT OPTION, el usuario puede transferir los privilegios recibidos a otros usuarios.

GRANT ALL PRIVILEGES ON database_name.* TO 'newuser'@localhost WITH GRANT OPTION;
sql

Paso 4: otorga permisos específicos sobre una base de datos o una tabla

También puedes conceder permisos concretos sobre una base de datos completa o sobre tablas individuales. Por ejemplo, para permitir solo acceso de lectura a todas las tablas de una base de datos, usa:

GRANT SELECT ON database_name.* TO 'newuser'@localhost;
sql

En este ejemplo, 'newuser' obtiene el permiso para leer todos los datos de la base de datos database_name, pero no para realizar modificaciones. Al usar * después del nombre de la base de datos, los permisos se aplican a todas las tablas de dicha base.

Si, por el contrario, quieres conceder permisos solo sobre una tabla específica, usa la siguiente sintaxis:

GRANT SELECT ON database_name.table_name TO 'newuser'@localhost;
sql

De este modo, newuser puede leer datos de la tabla table_name dentro de la base de datos database_name. Así controlas con precisión qué acciones puede realizar el usuario.

Paso 5: aplica los cambios

Los permisos se actualizan automáticamente y entran en vigor de inmediato. Como alternativa, puedes ejecutar el siguiente comando para asegurarte de que todos los permisos otorgados sean efectivos:

FLUSH PRIVILEGES;
sql

Paso 6: muestra los permisos otorgados

Para consultar todos los permisos actualmente asignados a una cuenta de usuario, ejecuta el siguiente comando:

SHOW GRANTS FOR 'newuser'@localhost;
sql

Este comando muestra todos los permisos que newuser tiene en la instancia de MariaDB. El resultado incluye tanto permisos generales sobre bases de datos o tablas como privilegios especiales, como el permiso para delegar sus propios permisos (WITH GRANT OPTION).

Bases de datos gestionadas
Bases de datos seguras y fáciles de usar
  • Arquitectura de primera gestionada por expertos
  • Soluciones flexibles adaptadas a tus necesidades
  • Seguridad máxima en centros de datos con certificación ISO
¿Le ha resultado útil este artículo?
Ir al menú principal