Crear usuarios en MySQL

Dejar que todos los usuarios tengan todos los permisos en el Sistema de Base de Datos no es una buena idea. Para mantener la seguridad de los datos es conveniente que cada usuario o grupo de usuarios sólo puedan realizar determinadas tareas.

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.
Ahora vayamos a la práctica, desde la consola de MySQL ejecutaremos:
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í.

1 comentario:

  1. 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

Nota: solo los miembros de este blog pueden publicar comentarios.