FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Ver Base Datos una sola
Hola Amigos:
Tengo la siguiente problema, aqui va el contexto. 1.- Tengo un motor de datos Mysql, con varias Base de Datos (Base1, Base2, Base3, Base4, etc) 2.- Tengo varios usuarios con sus privilegios respectivos (Usuario1, Usuario2, Usuario3, etc). Pero solo quiero que cada usuario vea su base de datos y no otras, es decir, Usuario1 con Base1, Usuario2 con Base2 y asi sucesivamente. Cualquier select o consulta, no pueda ver otra base de datos que no se la suya. Si alguien sabe como asignar esos niveles de seguridad o privilegios de usuario...Por favor. Gracias. Patricio |
#2
|
||||
|
||||
Cita:
Cual sería "la naturaleza" de tu aplicación, que existe "la necesidad" de que nUsuarios se conecten a nBasesDeDatos??...me resulta interesante saber que tipo de sistema sería. Ahora, considero, que se pudiera resolver desde que el usuario se "logea" al SISTEMA, se me ocurre, tener una base de datos general, donde tengas registrado ahi a los nUsuarios y tener definido ahí a que bases de datos se pueden conectar, así de esta manera cuando se logee el Usuario1, en la bd general, estará definido que se deberá conectar a la Base1.... Es decir tendrías una BD General con las siguientes tablas: USUARIO BASE En USUARIO tendrías -talvez- los siguientes campos: Código:
TBL_USUARIO pk-usuario_id fk-base_id usuario_contraseña Código:
TBL_BASE pk-base_id base_ruta_conexion Y a partir de aqui, generas código para realizar las conexiones a las base de datos de cada usuario. Espero te sirve esta idea. Saludos.
__________________
Miguel Román Afectuoso saludo desde tierras mexicanas....un aguachile?, con unas "cetaseas" bien "muertas"?, VENTE PUES !! Última edición por mRoman fecha: 14-11-2023 a las 17:43:00. |
#3
|
|||
|
|||
Hola Roman:
Gracias por responder. el sistema es uno de Clientes Relacionados, es decir, por cada cliente creo una base de datos, ya que con ello puedo miminizar los tiempo de respuesta, sobre todo con los inventarios. Eso , es algo simple. Pero creo que la solucion que me das no es toda completa o no logre entenderla bien Por que, si un usuario hace un show databases; el podra ver todas las bases de datos, y solo quiero que vea la suya al hacer Show database. Patricio |
#4
|
||||
|
||||
Lo que haces se llama una arquitectura "multi-tenant"
Con respecto a la solución, tienes que aplicar los privilegios: https://dev.mysql.com/doc/refman/8.0...-provided.html Es algo como:
Donde `PRIVILEGE?` es algo que debes elegir con intencion. La documentacion lo explica. P.D: probablemente es mejor si haces un "split" donde tienes el usuario "admin" con todo y uno que solo tiene permisos "crud" como:
__________________
El malabarista. |
|
|
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 |
|