DCL: Permisos

Richart, profesor diseño digital
10 Dec 202005:18

Summary

TLDREl script proporciona una descripción detallada del proceso de asignación y revocación de permisos en MySQL. Se discute cómo se pueden otorgar permisos a usuarios específicos para manipular bases de datos, tablas y otros usuarios, incluyendo el acceso a la estructura de las tablas y la capacidad de realizar operaciones de selección, inserción, actualización y borrado de datos. Además, se menciona el uso del comando 'grant' para asignar privilegios y el comando 'revoke' para anularlos. Se ilustra con un ejemplo práctico en PHPMyAdmin, donde se otorga a un usuario llamado 'prueba' todos los privilegios posibles en todas las bases de datos desde un acceso local. Finalmente, se explica cómo se pueden eliminar usuarios mediante la instrucción 'drop user'.

Takeaways

  • 🔑 Para asignar permisos en MySQL, se utiliza el comando `GRANT`.
  • 📋 Se debe especificar el tipo de privilegios, el ámbito (base de datos o tabla) y el usuario al que se le asignan.
  • 👁️‍🗨️ El ámbito de los permisos puede ser general (todas las bases de datos y tablas) o específico (solo una base de datos o tabla).
  • 🛠️ Los privilegios incluyen acceso a la estructura de las tablas y manipulación de datos, como SELECT, INSERT, UPDATE y DELETE.
  • 📌 Con la opción `WITH GRANT OPTION`, un usuario puede asignar permisos a otros usuarios.
  • 🧑‍💼 Un usuario puede tener permisos completos (`ALL PRIVILEGES`) sobre todas las bases de datos o solo sobre una determinada.
  • 🚫 Para revocar permisos, se utiliza el comando `REVOKE`, especificando los privilegios y el ámbito.
  • 🗑️ Se pueden eliminar usuarios completos con el comando `DROP USER`.
  • 🔄 Es posible agregar o revocar permisos de manera incremental, permitiendo un control preciso sobre el acceso a los datos.
  • 📝 Las instrucciones para asignar o revocar permisos se pueden ejecutar múltiples veces para modificar los privilegios de un usuario.
  • 💻 Se puede gestionar y visualizar los permisos de los usuarios a través de una interfaz gráfica como phpMyAdmin.

Q & A

  • ¿Qué comando se utiliza para asignar permisos en MySQL?

    -El comando utilizado para asignar permisos en MySQL es 'GRANT'.

  • ¿Qué tipo de privilegios se pueden asignar a los usuarios en MySQL?

    -Se pueden asignar todos los privilegios, lo que incluye acceso a la estructura de las tablas, tratamiento de datos, uso de comandos de DDL y DML, y también la opción de controlar otros usuarios.

  • ¿Cómo se indica el ámbito de uso de los permisos en MySQL?

    -Se indica el ámbito de uso de los permisos especificando la base de datos o la tabla concreta a la que se le está dando acceso.

  • ¿Qué permite el permiso de 'CREATE' en MySQL?

    -El permiso de 'CREATE' permite a los usuarios crear nuevas tablas dentro de una base de datos.

  • ¿Qué se puede hacer con los permisos de 'SELECT' en una tabla específica?

    -Con los permisos de 'SELECT', los usuarios pueden realizar operaciones de lectura, es decir, seleccionar datos de una tabla específica.

  • ¿Cómo se pueden dar permisos para la manipulación de otros usuarios en MySQL?

    -Mediante la opción 'WITH GRANT OPTION' se pueden dar permisos para la manipulación de otros usuarios, lo que incluye la creación o el borrado de otros usuarios.

  • ¿Qué comando se utiliza para revocar permisos en MySQL?

    -El comando utilizado para revocar permisos en MySQL es 'REVOKE'.

  • ¿Cómo se indica el ámbito específico al revocar permisos en MySQL?

    -Al revocar permisos, se debe indicar los privilegios que se quieren anular, el ámbito específico (base de datos y tabla) y el usuario al que pertenecen los permisos.

  • ¿Cómo se elimina un usuario en MySQL?

    -Para eliminar un usuario en MySQL, se utiliza la instrucción 'DROP USER' seguida del nombre del usuario y el host desde donde accede.

  • ¿Qué es 'localhost' en el contexto de MySQL?

    -'localhost' en MySQL se refiere a la máquina local donde se está ejecutando el servidor de la base de datos, y es un valor común para indicar que un usuario puede acceder a la base de datos desde el mismo equipo donde está alojada.

  • ¿Cómo se pueden asignar permisos a un usuario específico en todas las bases de datos y tablas en MySQL?

    -Mediante el comando 'GRANT' se pueden asignar permisos a un usuario específico utilizando el símbolo '*' para indicar 'todos' los privilegios, 'asterisco punto asterisco' para 'todas las bases de datos' y 'localhost' para el host, permitiendo así el acceso a todas las tablas.

  • ¿Cómo se pueden ver los privilegios asignados a un usuario en phpMyAdmin?

    -En phpMyAdmin, se pueden ver los privilegios asignados a un usuario seleccionando el usuario de la lista de 'cuentas de usuarios' y haciendo clic en la opción 'Editar', donde se muestran las casillas de los diferentes privilegios.

Outlines

00:00

📜 Asignación y Gestión de Permisos en MySQL

Este párrafo describe el proceso de asignación de permisos a los usuarios en MySQL. Se menciona el uso del comando 'grant' para otorgar privilegios, especificando el tipo de privilegios, el ámbito de uso (base de datos o tabla) y la capacidad de controlar otros usuarios. Se destaca la posibilidad de asignar todos los privilegios para acceso completo a la estructura y manipulación de datos, incluyendo comandos de DDL y MDL. Además, se puede otorgar permisos para la creación y eliminación de tablas, así como para la manipulación de otros usuarios. Se proporciona un ejemplo práctico de cómo otorgar 'todos los privilegios' a un usuario llamado 'prueba' en todas las bases de datos desde localhost, y cómo verificar estos permisos en phpMyAdmin. También se menciona el comando 'revoke' para anular privilegios específicos y cómo eliminar un usuario con 'drop user'.

05:01

🗑 Eliminación de Usuarios en MySQL

Este párrafo se enfoca en la eliminación de un usuario en MySQL. Se ejecuta la instrucción 'DROP USER' para eliminar un usuario específico, en este caso, el usuario 'prueba' desde el host localhost. La acción es una parte del proceso de gestión de usuarios y permisos en MySQL, permitiendo así la limpieza y el control de accesos a las bases de datos.

Mindmap

Keywords

💡Permisos

Permisos son los derechos o autorizaciones que se asignan a los usuarios de un sistema para controlar su acceso y uso de los recursos del sistema. En el contexto del video, los permisos son esenciales para la gestión de los derechos de acceso a las bases de datos y tablas en MySQL, permitiendo o restringiendo acciones específicas como la lectura, escritura, creación o eliminación de datos y estructuras.

💡Comando GRANT

El comando GRANT en MySQL se utiliza para otorgar permisos a los usuarios. Selecciona el tipo de privilegios, define el ámbito de estos (bases de datos o tablas específicas) y asigna estos permisos a un usuario específico. En el video, se menciona el uso del comando GRANT para otorgar todos los privilegios a un usuario en todas las bases de datos.

💡Ámbito de los permisos

El ámbito de los permisos define la alcance de los derechos que un usuario tiene en el sistema. Puede ser a nivel de una base de datos completa o limitado a una tabla específica. El video discute cómo asignar permisos a un usuario para una base de datos o tabla concreta.

💡DDL (Data Definition Language)

DDL es un subconjunto de un lenguaje de programación que se utiliza para definir y manipular la estructura de los datos en una base de datos. Incluye comandos como CREATE, ALTER y DROP. En el video, se menciona que los permisos pueden incluir el acceso y manipulación de la estructura de las tablas mediante comandos DDL.

💡DML (Data Manipulation Language)

DML es un subconjunto de un lenguaje de programación que se utiliza para manipular los datos en una base de datos. Incluye comandos como INSERT, UPDATE, DELETE y SELECT. En el video, se habla de cómo los permisos pueden permitir el uso de comandos DML para la manipulación de datos dentro de una base de datos o tabla específica.

💡Privilegios de alta nivel

Privilegios de alta nivel, como los mencionados en el video, permiten a un usuario tener control total sobre la estructura y los datos de una o varias bases de datos. Esto incluye la capacidad de crear, modificar o eliminar bases de datos y tablas, así como también manipular otros usuarios y sus permisos.

💡Acceso remoto

El acceso remoto se refiere a la capacidad de un usuario para conectarse y operar en una base de datos desde una ubicación distinta a la del servidor de la base de datos. En el video, se destaca que un usuario puede tener permisos para acceder a las bases de datos desde cualquier localización.

💡SELECT

El comando SELECT en SQL se utiliza para recuperar datos de una o más tablas en una base de datos. Es una operación de lectura y es un ejemplo de un tipo de privilegio que se puede asignar a un usuario limitado a una tabla específica, como se discute en el video.

💡INSERT, UPDATE y DELETE

Estos son comandos DML que se utilizan para agregar (INSERT), modificar (UPDATE) y eliminar (DELETE) datos en una base de datos. En el video, se menciona que ciertos permisos permiten a los usuarios realizar estas operaciones de manipulación de datos en una base de datos o tabla específica.

💡Comando REVOKE

El comando REVOKE en MySQL se utiliza para revocar o anular los permisos que se habían previamente otorgado a un usuario. El video explica cómo usar este comando para indicar los privilegios que se quieren revocar, el ámbito de estos y a qué usuario pertenecen.

💡PHPMyAdmin

PHPMyAdmin es una herramienta de administración web para bases de datos MySQL. Permite a los administradores y usuarios interactuar con las bases de datos a través de una interfaz gráfica de usuario. En el video, se utiliza PHPMyAdmin para ilustrar cómo asignar y revocar permisos a usuarios en MySQL.

Highlights

Se pueden asignar permisos a los usuarios en MySQL utilizando el comando GRANT.

Es necesario especificar el tipo de privilegios y el ámbito de los mismos.

Los permisos pueden ser para una base de datos específica o una tabla concreta.

El usuario puede tener acceso a la estructura de las tablas y al tratamiento de los datos.

Los comandos de DDL permiten la manipulación de la estructura de las tablas.

Los comandos de MDL se refieren a la manipulación de los datos dentro de las tablas.

Se pueden dar permisos para la creación y borrado de tablas.

Con la opción 'GRANT OPTION', un usuario puede manipular otros usuarios.

Un usuario puede tener privilegios en todas las bases de datos y desde cualquier localización.

Algunos usuarios pueden tener acceso solo para operaciones de selección o lectura.

Los privilegios se pueden agregar o revocar en varias ocasiones para un mismo usuario.

El comando REVOKE se utiliza para anular privilegios previamente asignados.

Es posible revocar permisos específicos para una base de datos o una tabla determinada.

Para eliminar un usuario, se utiliza la instrucción DROP USER.

Se puede ver la asignación de privilegios en la sección de 'cuentas de usuarios'.

Los cambios en los privilegios se pueden confirmar editando los permisos del usuario.

PHPMyAdmin es una herramienta para gestionar y asignar privilegios de usuarios en MySQL.

Se muestra un ejemplo práctico de cómo asignar todos los privilegios a un usuario llamado 'prueba'.

Transcripts

play00:01

una vez creados los usuarios se les

play00:03

puede asignar permisos para asignar

play00:06

permisos hay que utilizar el comando

play00:08

gran de mysql

play00:11

en concreto deberíamos indicarle en

play00:14

primer lugar el tipo de privilegios que

play00:15

vamos a asignarles

play00:18

habrá que indicarle cuál es el ámbito de

play00:20

uso de esos permisos es decir la base de

play00:22

datos o la tabla concreta a la que da

play00:25

acceso de esos permisos para el usuario

play00:28

con su acceso y con la opción de gran

play00:34

opción que sería para también controlar

play00:36

otros usuarios

play00:39

el tipo de privilegios que podemos

play00:41

asignarle es todos todos los privilegios

play00:44

de tal modo que tenga acceso a la

play00:47

estructura de las tablas y tenga acceso

play00:49

también al tratamiento de sus datos es

play00:52

decir que pueda utilizar comandos del dl

play00:56

y también con mandos del mdl

play00:59

así por ejemplo dentro del mdl podríamos

play01:02

decirle que le damos permiso para que se

play01:04

utilice el clc leanser y lutero el

play01:07

deleite sobre una base de datos o alguna

play01:10

de sus tablas

play01:11

también podríamos darle permiso de

play01:14

creación y borrado de esas tablas es

play01:16

decir permisos de comandos de el ddl

play01:20

y con gran opción significa que le damos

play01:24

permisos para la manipulación de otros

play01:26

usuarios para la creación de otros

play01:28

usuarios o su borrado

play01:31

por ejemplo podemos tener un usuario al

play01:34

que le damos todo tipo de privilegios en

play01:36

todas las bases de datos que tiene este

play01:39

nombre y que puede acceder desde

play01:41

cualquier localización y también tiene

play01:44

acceso a otros usuarios para su

play01:46

manipulación

play01:48

otro caso sería un usuario que tiene

play01:51

acceso a todos los datos y la

play01:54

manipulación de la estructura dentro de

play01:57

una determinada base de datos

play01:59

y otro caso sería aquel usuario que

play02:02

solamente puede hacer operaciones de

play02:04

selección es decir operaciones de

play02:06

lectura dentro de una determinada base

play02:08

de datos y en concreto en una

play02:10

determinada tabla otro caso sería aquel

play02:13

usuario que puede hacer cualquier tipo

play02:15

de manipulación sobre los datos pero no

play02:18

sobre la estructura puede hacer

play02:20

selecciones inserciones actualizaciones

play02:22

y borrados de los datos en concreto

play02:24

dentro de una determinada base de datos

play02:27

y en una tabla

play02:30

todas estas instrucciones se pueden

play02:31

ejecutar varias veces para ir añadiendo

play02:33

nuevos privilegios al mismo usuario es

play02:36

decir que podríamos haberle dado acceso

play02:38

a una determinada base de datos y luego

play02:41

darle acceso a otra base de datos o

play02:43

haberle dado acceso a una tabla y luego

play02:45

posteriormente darle acceso a otra tabla

play02:49

para borrar los privilegios tenemos el

play02:52

comando revoque hay que indicar los

play02:54

privilegios que pretendemos anular

play02:56

preferidos a qué ámbito a qué base de

play02:59

datos ya qué tabla y pertenecientes a

play03:02

qué usuario por ejemplo queremos revocar

play03:06

la gran opción es decir en la

play03:09

manipulación de usuarios dentro de

play03:11

cualquiera de las tablas dentro de un

play03:14

determinado usuario

play03:16

otro caso sería cuando pretendemos

play03:19

revocar los privilegios de manipulación

play03:22

de los datos dentro de una determinada

play03:25

base de datos y en concreto en una

play03:28

determinada tabla

play03:31

bien vamos a ver todo esto en el php

play03:33

miami

play03:38

en php my admin anteriormente habíamos

play03:40

creado un usuario que lo tenemos aquí el

play03:43

usuario prueba al cual ahora le vamos a

play03:46

dar todo tipo de privilegios entonces

play03:49

vamos a sql y le decimos que queremos

play03:52

darle

play03:54

gran privilegio en todas las bases de

play04:00

datos

play04:02

asterisco punto asterisco todas las

play04:05

bases de datos y todas las tablas al

play04:07

usuario tú que se llamaba prueba y que

play04:12

tenían acceso desde el localhost

play04:17

y vamos a decirle que también pueda

play04:19

manipular el resto de los usuarios

play04:30

ejecutamos esto

play04:33

y a continuación podemos ir a las

play04:36

cuentas de usuarios y ver que el usuario

play04:39

prueba pues ahora tiene todos los

play04:40

privilegios sobre todas las bases de

play04:42

datos si le damos aquí a la opción de

play04:45

editar privilegios pues vemos que

play04:47

efectivamente todas las casillas de

play04:49

privilegios están activadas

play04:52

para borrar el usuario podríamos hacerlo

play04:55

marcando lo aquí en la lista de usuarios

play04:58

y dándole a la opción que dice eliminar

play05:00

cuentas de usuario le damos a continuar

play05:02

y entonces lo que va a hacer es ejecutar

play05:06

la instrucción drop user eliminando ese

play05:10

usuario

play05:11

aquí está drop user prueba localhost

Rate This

5.0 / 5 (0 votes)

Related Tags
MySQLPermisosUsuariophpMyAdminGestiónSeguridadDDLDMLAccesoControlAdministración
Do you need a summary in English?