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 re­s­tri­c­cio­nes.

¿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 di­s­po­ni­bles, incluidos la creación, mo­di­fi­ca­ción y eli­mi­na­ción de tablas, así como el acceso a funciones ad­mi­ni­s­tra­ti­vas. Si usas GRANT ALL PRIVILEGES de forma co­n­tro­la­da, podrás gestionar efi­ca­z­me­n­te los permisos en tu entorno de bases de datos.

Para poder aplicar GRANT ALL PRIVILEGES en MariaDB, necesitas permisos avanzados del sistema. No­r­ma­l­me­n­te, se requiere el pri­vi­le­gio SUPER o la opción GRANT OPTION para otorgar pri­vi­le­gios. Inicia sesión con una cuenta de usuario ad­mi­ni­s­tra­ti­va y asegúrate de tener una conexión estable con la instancia de base de datos correcta. Es im­po­r­ta­n­te definir con precisión el nombre de usuario y el prefijo del host para evitar la asi­g­na­ción in­vo­lu­n­ta­ria 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 exi­s­te­n­tes.

Sintaxis del comando MariaDB GRANT ALL PRIVILEGES

La es­tru­c­tu­ra 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 se­le­c­cio­na­da. Mediante 'username'@host defines a qué usuario y desde qué host se le permite el acceso. Op­cio­na­l­me­n­te, puedes asignar una co­n­tra­se­ña en el mismo comando para au­te­n­ti­car al usuario.

Una vez que ejecutes el comando, los cambios no tendrán efecto hasta que recargues los pri­vi­le­gios:

FLUSH PRIVILEGES;
sql

Así te aseguras de que los permisos se activen al instante y se guarden co­rre­c­ta­me­n­te 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 co­n­tra­se­ñ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 co­n­tra­se­ña. Sustituye newuser por el nombre de usuario que desees y strongpassword por una co­n­tra­se­ña segura y pe­r­so­na­li­za­da. La es­pe­ci­fi­ca­ción localhost limita el acceso a co­ne­xio­nes 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 pri­vi­le­gios di­s­po­ni­bles 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 de­le­ga­ción de permisos (GRANT OPTION)

Al añadir WITH GRANT OPTION, el usuario puede tra­n­s­fe­rir los pri­vi­le­gios recibidos a otros usuarios.

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

Paso 4: otorga permisos es­pe­cí­fi­cos sobre una base de datos o una tabla

También puedes conceder permisos concretos sobre una base de datos completa o sobre tablas in­di­vi­dua­les. 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 mo­di­fi­ca­cio­nes. 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 es­pe­cí­fi­ca, 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 ac­tua­li­zan au­to­má­ti­ca­me­n­te y entran en vigor de inmediato. Como al­te­r­na­ti­va, puedes ejecutar el siguiente comando para ase­gu­rar­te de que todos los permisos otorgados sean efectivos:

FLUSH PRIVILEGES;
sql

Paso 6: muestra los permisos otorgados

Para consultar todos los permisos ac­tua­l­me­n­te 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 pri­vi­le­gios es­pe­cia­les, como el permiso para delegar sus propios permisos (WITH GRANT OPTION).

Manage Databases
Managed Database von IONOS

Bases de datos a medida de tus ne­ce­si­da­des. Incluye soporte 24/7.

  • Ar­qui­te­c­tu­ra de primera
  • Soporte 24/7
  • Centros de datos ce­r­ti­fi­ca­dos
Ir al menú principal