MySQL permite definir diferentes usuarios, y además, asignar a cada uno determinados permisos en distintos niveles:
- Globales: se aplican al conjunto de todas las bases de datos en un servidor.
- Base de datos: se aplican a las Bases de Datos individuales y a todos los objetos que contiene cada Base de Datos.
- Tablas: se aplican a las tablas individuales y a todas las columnas de esas tabla.
- Columnas: se aplican a una columna en una tabla concreta.
- Rutina: se aplican a los procedimientos almacenados.
CREATE USER 'jaime'@'localhost' IDENTIFIED BY '111';
De esta forma crearemos el usuario 'jaime' con password '111'. Todavía no le hemos dado ningún permiso, para dar permisos desde la consola de MySQL ejecutaremos:GRANT ALL PRIVILEGES ON *.* TO 'jaime'@'localhost' WITH GRANT OPTION;
Con esto hemos dado permiso al usuario 'jaime' para acceder a todas las bases de datos y con todos los permisos (SELECT, INSERT, UPDATE, DROP...).Para limitar los permisos podemos dar acceso al usuario 'jaime' a una base de datos llamada 'Contabilidad', desde la consola de MySQL ejecutaremos:
GRANT SELECT ON Contabilidad.* TO 'jaime'@'localhost'
Para saber más sobre la sentencia GRANT pulsa aquí.
hola, tengo un problema con una solución a una base de datos, estoy haciendo una aplicación en php y mysql, para acceder a la aplicación es por medio de un log y pass esos usuarios que acceden a esta aplicación son empresas diferentes que tienen la misma actividad económica, ahora en la base de datos la tabla registros o factura que en mi caso sería lo mismo tiene los mismos campos, ahora, ¿como una empresa accede a sus registros sin modificar los registros de las otras empresas (los campos de la tabla FACTURA, son los mismos) agradezco su ayuda
ResponderEliminar