Una introducción rápida a los permisos de usuario en una base de datos MySQL
Veamos cómo otorgar permisos (llamados privilegios) a un usuario de la base de datos MySQL
De forma predeterminada, cuando crea un nuevo usuario de MySQL utilizando la sintaxis
CREATE USER '<username>'@'localhost' IDENTIFIED BY '<password>';
el usuario no puede hacer mucho. En realidad, podemos decir que no se puede hacer nada.
No puede leer datos de ninguna base de datos existente, y mucho menos modificar los datos. Y ni siquiera puede crear una nueva base de datos.
Para que un usuario haga algo, debeconceder privilegioslo.
Puede hacerlo utilizando elGRANT
mando.
Nosotros podemos usarGRANT <permission>
, utilizando las siguientes palabras clave de permiso:
CREATE
DROP
DELETE
INSERT
SELECT
UPDATE
ALL PRIVILEGES
Dar privilegio para crear nuevas bases de datos a un usuario
GRANT CREATE ON *.* TO '<username>'@'localhost';
Otorgue privilegios a un usuario para crear nuevas tablas en una base de datos específica
GRANT CREATE ON <database>.* TO '<username>'@'localhost';
Dar privilegio para leer (consultar) una base de datos específica a un usuario
GRANT SELECT ON <database>.* TO '<username>'@'localhost';
Dar privilegio para leer una base de datos específicamesaa un usuario
GRANT SELECT ON <database>.<table> TO '<username>'@'localhost';
Otorgue privilegios para insertar, actualizar y eliminar filas en una base de datos específica a un usuario
GRANT INSERT, UPDATE, DELETE ON <database>.* TO '<username>'@'localhost';
Otorgar privilegios para eliminar tablas en una base de datos específica a un usuario
GRANT DROP ON <database>.* TO '<username>'@'localhost';
Otorgar privilegios para eliminar bases de datos a un usuario
GRANT DROP ON *.* TO '<username>'@'localhost';
Dar todos los privilegios sobre una base de datos específica a un usuario
GRANT ALL PRIVILEGES ON <database>.* TO '<username>'@'localhost';
Dar todos los privilegios a un usuario
GRANT ALL PRIVILEGES ON *.* TO '<username>'@'localhost';
Revocar un privilegio
Ejemplo para revocar elDROP
privilegio en<database>
:
REVOKE DROP ON <database>.* TO '<username>'@'localhost';
Para revocar todos los privilegios, ejecute:
REVOKE ALL PRIVILEGES ON *.* TO '<username>'@'localhost';
Puede visualizar los privilegios de un solo usuario ejecutando:
SHOW GRANTS FOR '<username>'@'localhost';
Más tutoriales de bases de datos:
- El tutorial básico de MongoDB
- En qué se diferencia MongoDB de una base de datos SQL
- Sistemas de información, datos e información
- Modelos de datos
- Introducción al modelo de datos de ER
- El modelo relacional
- Álgebra relacional
- Bases de datos relacionales
- ¿Que es una base de datos? ¿Y un DBMS?
- Introducción a SQL
- Cómo instalar PostgreSQL en macOS
- ¿Siempre necesitas una base de datos para tu aplicación?
- Cómo instalar SQLite en macOS
- Introducción a PostgreSQL
- Permisos de usuario de PostgreSQL
- Cómo enumerar todos los usuarios en PostgreSQL
- Cómo cambiar de base de datos usando PostgreSQL
- Cómo enumerar todas las bases de datos usando PostgreSQL
- Cómo enumerar tablas en la base de datos actual usando PostgreSQL
- Cómo instalar MySQL en macOS
- Creando un usuario en MySQL
- PostgreSQL vs MySQL, una comparación
- Permisos de usuario de SQLite
- Permisos de usuario de MySQL
- SQL, creando una tabla
- SQL, agregando datos a una tabla
- SQL, cómo usar SELECT
- SQL, manejo de celdas vacías
- Claves SQL, únicas y primarias
- SQL, como actualizar datos
- SQL, como actualizar la estructura de una tabla
- SQL, como borrar datos y tablas
- Uniones SQL
- Vistas SQL
- Cómo insertar varios elementos a la vez en una colección de MongoDB
- Cómo eliminar todos los elementos de una colección de MongoDB