Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Conexión con bases de datos

 
 
Herramientas Buscar en Tema Desplegado
  #4  
Antiguo 01-10-2024
aposi aposi is offline
Miembro
 
Registrado: dic 2006
Posts: 159
Poder: 20
aposi Va por buen camino
Hoy es el dia de chatgpt


he puesto tu pregunta al chatgpt y su respuesta es:


Para lograr lo que necesitas en MySQL, debes gestionar cuidadosamente los privilegios de los usuarios sobre las bases de datos. Puedes restringir el acceso de cada usuario a las bases de datos específicas que les corresponden y evitar que puedan ver o manipular otras bases de datos en el sistema.
Los pasos generales son los siguientes:

1. Crear usuarios (si no existen)

Si aún no has creado los usuarios, puedes hacerlo con el siguiente comando SQL:
CREATE USER 'usuario1'@'%' IDENTIFIED BY 'password1';
CREATE USER 'usuario2'@'%' IDENTIFIED BY 'password2';
CREATE USER 'usuario3'@'%' IDENTIFIED BY 'password3';

Reemplaza % si solo deseas permitir el acceso desde un host específico, y ajusta las contraseñas según sea necesario.

2. Otorgar privilegios específicos a cada usuario

Debes otorgar privilegios únicamente sobre las bases de datos que deseas que cada usuario pueda ver y manipular.

Usuario1: Solo acceso a la base de datos ventas.
GRANT ALL PRIVILEGES ON ventas.* TO 'usuario1'@'%';

Usuario2: Acceso a las bases de datos personal y ventas.
GRANT ALL PRIVILEGES ON personal.* TO 'usuario2'@'%';
GRANT ALL PRIVILEGES ON ventas.* TO 'usuario2'@'%';

Usuario3: Si tiene acceso a otras bases de datos o si no tiene acceso a ninguna base de datos en particular, puedes configurar los privilegios según sea necesario. Ejemplo de acceso a la base de datos inventario:

GRANT ALL PRIVILEGES ON inventario.* TO 'usuario3'@'%';

3. Revocar acceso a otras bases de datos

Asegúrate de que ningún usuario tenga privilegios en otras bases de datos. Esto es importante porque si un usuario tiene algún tipo de privilegio sobre una base de datos, podrá verla.

Por ejemplo, para asegurarte de que usuario1 no pueda acceder a otras bases de datos como contabilidad o inventario, puedes ejecutar lo siguiente:

REVOKE ALL PRIVILEGES ON contabilidad.* FROM 'usuario1'@'%';
REVOKE ALL PRIVILEGES ON inventario.* FROM 'usuario1'@'%';
REVOKE ALL PRIVILEGES ON personal.* FROM 'usuario1'@'%';
REVOKE ALL PRIVILEGES ON automoviles.* FROM 'usuario1'@'%';

Haz lo mismo para cada usuario según las bases de datos que no deben ver.




4. Evitar que los usuarios puedan listar todas las bases de datos

Aunque hayas revocado los privilegios, los usuarios podrían aún ser capaces de listar todas las bases de datos usando herramientas como SHOW DATABASES. Para evitar esto, debes modificar el archivo de configuración de MySQL para que los usuarios solo puedan ver las bases de datos a las que tienen acceso.
  1. Edita el archivo de configuración de MySQL (usualmente my.cnf o my.ini dependiendo del sistema operativo).
  2. Busca la sección [mysqld] y agrega la siguiente línea:
skip-show-database



Reinicia el servidor MySQL para que los cambios surtan efecto:
  • En Linux:
sudo systemctl restart mysql


En Windows, usa el Administrador de Servicios para reiniciar MySQL.


5. Aplicar los cambios

Finalmente, después de realizar todos estos pasos, aplica los cambios ejecutando:


FLUSH PRIVILEGES;

Última edición por aposi fecha: 01-10-2024 a las 22:06:23.
Responder Con Cita
 


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Descargar solo txt FTP ronald_tro Varios 18 01-05-2014 18:25:38
Solo ejecutar un procedimiento cuando solo la ventana esta activa feliz-58 Varios 4 10-08-2013 19:39:04
Solo se vive una vez... movorack La Taberna 1 04-05-2010 06:01:19
.Net solo C# jevo19100 .NET 5 24-01-2006 02:44:28
mostrar SOLO cliente de los que tengo un sólo registro Giniromero SQL 15 11-06-2004 12:33:19


La franja horaria es GMT +2. Ahora son las 18:09:23.


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