Inicio > MYSQL > Crear usuarios en mysql

CREAR USUARIOS EN MYSQL

26/12/2018MYSQL ME GUSTA

 

Siempre que se instala una base de datos MySQL siempre viene creada con un usuario root y sin ninguna contraseña pero hay veces que es necesario crear diferentes usuarios con diferentes permisos.
Los usuarios de MySQL se crean en la tabla user indicando el host desde donde se va a conectar (por defecto no se puede conectar fuera del servidor donde está MySQL instalado, para configurar conexiones externas el post sobre permitir conexiones externas en mysql), password y permisos o privilegios Ahora voy a explicar como crear usuarios en mysql con sus respectivos permisos:

CREAR USUARIO

Lo primero es ejecutar la sentencia CREATE USER 'nombre_usuario'@'localhost' IDENTIFIED BY 'contrasena';. Después de ejecutar esta sentencia el usuario ya ha sido creado pero sin ningún permiso ni privilegio por lo que dará error al intentar acceder a cualquier base de datos. Por ello, lo primero que debemos hacer es porporcionarle el acceso requerido al usuario con la información que requiere.

OTORGAR PERMISOS

Para otorgar permisos a un usuario hay que ejecutar la sentencia GRANT privilege ON base_de_datos.tabla TO 'nombre_usuario'@'localhost';.
Lista de permisos de MySQL

  • ALL PRIVILEGES: Este permiso permite acceder a todas las bases de datos.
  • CREATE: Este permiso permite crear nuevas tablas o bases de datos.
  • DROP: Este permiso permite eliminaenuevas tablas o bases de datos.
  • DELETE: Este permiso permite eliminar registros de tablas.
  • INSERT: Este permiso permite crear registros de tablas.
  • SELECT: Este permiso permite seleccionar registros de tablas.
  • UPDATE: Este permiso permite actualizarregistros de tablas.
  • GRANT OPTION: Este permite elminar permisos al usuario.
  • NOTA: Hay más permisos pero creo que estos son más itneresantes

Cada vez que se actualizas o cambian permisos, hay que refrescar los privilegios con la sentencia FLUSH PRIVILEGES;.

Para quitarle un permiso a un usuario hay que ejecutar la sentencia REVOKE permiso ON basedatos.tabla FROM 'usuario'@'localhost';.

Para eliminar un usuario hay que ejecutar la sentencia DROP USER 'nombre de usuario'@'localhost';.


Si no se quieren dar permisos a ciertos usuarios operar con las tablas de la base de datos se pueden crear vistas. Y luego dar permisos SELECT al usuario sobre las vistas deseadas.


 


Comentarios

No hay comentarios en este artículo.