Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > MySQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 05-10-2024
navbuoy navbuoy is offline
Miembro
 
Registrado: mar 2024
Posts: 280
Poder: 2
navbuoy Va por buen camino
Para controlar qué bases de datos puede ver o acceder un usuario en MySQL, se gestionan los privilegios de acceso mediante la instrucción GRANT o la manipulación directa de los permisos en las tablas de privilegios.

Pasos para otorgar o restringir acceso a bases de datos en MySQL:
Crear el usuario (si aún no existe): Si el usuario aún no existe, puedes crearlo con la siguiente instrucción:

Código:
CREATE USER 'usuario'@'host' IDENTIFIED BY 'contraseña';
usuario: Nombre del usuario.
host: Puede ser localhost, % (para cualquier host), o una IP específica.
contraseña: La contraseña del usuario.
Otorgar acceso a una base de datos específica: Para otorgar acceso a una base de datos específica, puedes usar la instrucción GRANT:

Código:
GRANT ALL PRIVILEGES ON nombre_base_de_datos.* TO 'usuario'@'host';
Esto le dará al usuario acceso completo a la base de datos nombre_base_de_datos. Si solo deseas otorgar permisos específicos, como SELECT, puedes hacer algo como:

Código:
GRANT SELECT ON nombre_base_de_datos.* TO 'usuario'@'host';
Revocar el acceso a otras bases de datos: Si el usuario tiene acceso a otras bases de datos y deseas quitárselo, utiliza REVOKE:

Código:
REVOKE ALL PRIVILEGES ON otra_base_de_datos.* FROM 'usuario'@'host';
Esto revoca todos los privilegios del usuario en la base de datos otra_base_de_datos.

Verificar los privilegios del usuario: Para ver los privilegios de un usuario, puedes usar la siguiente instrucción:

Código:
SHOW GRANTS FOR 'usuario'@'host';
Ocultar bases de datos que no tienen permisos: Si has configurado correctamente los privilegios, el usuario solo verá las bases de datos a las que tiene acceso. En versiones más antiguas de MySQL, a veces un usuario puede ver el nombre de una base de datos aunque no tenga permisos para accederla, pero no podrá interactuar con ella. Sin embargo, versiones más recientes y configuraciones adecuadas ocultan por completo las bases de datos a las que un usuario no tiene acceso.

recordar ejecutar el FLÜSH PRIVILEGES despues de GRANT o PRIVILEGES

Código:
FLUSH PRIVILEGES;

Aquí tienes una lista de los privilegios más comunes que puedes conceder:

Privilegios Generales (a nivel de servidor o base de datos):
ALL PRIVILEGES: Concede todos los privilegios excepto GRANT OPTION. Se puede aplicar a nivel de servidor, base de datos, tabla, etc.

ALTER: Permite alterar la estructura de tablas o bases de datos (modificar, añadir, eliminar columnas, etc.).

ALTER ROUTINE: Permite alterar o eliminar rutinas almacenadas (procedures y functions).

CREATE: Permite crear bases de datos y tablas.

CREATE ROUTINE: Permite crear rutinas almacenadas (procedures y functions).

CREATE TEMPORARY TABLES: Permite crear tablas temporales.

CREATE USER: Permite crear, eliminar y renombrar usuarios.

CREATE VIEW: Permite crear vistas.

DELETE: Permite eliminar registros de tablas.

DROP: Permite eliminar bases de datos, tablas o vistas.

EVENT: Permite crear, modificar y eliminar eventos en el programador de eventos.

EXECUTE: Permite ejecutar rutinas almacenadas (procedures).

FILE: Permite leer y escribir archivos en el servidor (útil para operaciones como LOAD DATA INFILE).

INDEX: Permite crear y eliminar índices.

INSERT: Permite insertar registros en tablas.

LOCK TABLES: Permite bloquear tablas para la lectura o escritura.

PROCESS: Permite ver y gestionar los procesos en ejecución.

REFERENCES: Permite crear claves foráneas y realizar operaciones de referencia entre tablas.

RELOAD: Permite recargar las tablas de privilegios y vaciar logs.

REPLICATION CLIENT: Permite al usuario consultar el estado de la replicación.

REPLICATION SLAVE: Permite a los esclavos de replicación conectarse al servidor maestro.

SELECT: Permite leer datos de tablas y vistas.

SHOW DATABASES: Permite al usuario ver la lista de todas las bases de datos.

SHOW VIEW: Permite consultar las definiciones de vistas.

SHUTDOWN: Permite apagar el servidor MySQL.

SUPER: Permite ejecutar operaciones administrativas como detener procesos y modificar variables de sistema.

TRIGGER: Permite crear, eliminar o invocar triggers.

UPDATE: Permite actualizar registros en tablas.

USAGE: No concede ningún privilegio, pero crea el usuario.

Privilegios a nivel de tabla/columna:
SELECT (nombre_columna): Permite leer datos solo de las columnas especificadas.
INSERT (nombre_columna): Permite insertar datos solo en las columnas especificadas.
UPDATE (nombre_columna): Permite actualizar datos solo en las columnas especificadas.
Privilegios Especiales:
GRANT OPTION: Permite al usuario conceder a otros usuarios los privilegios que posee.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Conectar base de datos Firebird con base de datos Oscommerce 2.3.3 Adriadob Firebird e Interbase 11 31-10-2012 11:28:46
Error en alta masiva de datos en una sóla transacción afxe Firebird e Interbase 3 07-05-2007 10:27:38
Dos aplicaciones y sola base de datos..? kia Conexión con bases de datos 19 01-05-2006 18:08:20
DbExpres: Dod Bases de Datos, una sola Transacción. josemmerida Conexión con bases de datos 1 09-02-2005 19:43:58
¿15 MB para una sola base de datos? M@rcos Conexión con bases de datos 2 20-06-2003 15:49:26


La franja horaria es GMT +2. Ahora son las 19:09:58.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi