Vicchiam Notes

Experiencias Informáticas

Gestión Usuarios MySQL

Los usuarios tienen el formato nombre@host_acceso.

Usuario paco accede desde la misma maquina

paco@localhost equivalente a paco@'127.0.0.1'paco@'nombre_host'

Usuario paco acceder desde un ordenador del dominio pacopil.com

paco@'pacopil.com'

Usuario paco accede desde la red local 192.168.1.0

paco@'192.168.1.%' equivalente a paco@'192.168.1.0/255.255.255.0'

Usuario paco accede desde una ip especifica 192.168.1.154

paco@'192.168.1.154'

Usuario paco accede desde cualquier servidor

paco@% equivalente a paco

Logearse en una base de datos

mysql -u nombre_usuario -p

Logearse en una base de datos remota

mysql -h nombre_servidor_mysql -u nombre_usuario@'host_acceso' -p

Ver usuario actual

mysql> select current_user();

Ver Usuarios creados

mysql> select user,host from mysql.user;

Crear nuevo usuario

mysql> create user nombre@dominio_acceso identified by 'contraseña'

Modificar nombre usuario

mysql> rename nombre_viejo to nombre_nuevo

Modificar contraseña

mysql> set password for nombre_usuario=password('nueva_contraseña')

Ver privilegios de un usuario

mysql> show grants for nombre_usuario@cliente

Agregar privilegios SELECT y CREATE a un usuario para todas las bases de datos

mysql> grant create, select on *.* to nombre_usuario@cliente

Agregar privilegios UPDATE a un usuario para la base de datos prueba

mysql> grant update on prueba.* to nombre_usuario@cliente

Agregar privilegios DELETE a un usuario para la tabla personas de la base de datos prueba

mysql> grant delete on prueba.personas to nombre_usuario@cliente

Quitar privilegios CREATE de la base de datos prueba

mysql> revoke create on prueba.* from nombre_usuario@cliente

Eliminar usuario

mysql> drop user nombre_usuario@cliente

2 thoughts on “Gestión Usuarios MySQL

  • Fer dice:

    Buenas, a ver si me puedes ayudar, creo un usuario de la siguiente forma con el root:
    grant all privileges on bd.* to ‘admin’@’localhost’ identified by ‘admin’ with grant option;

    Me logeo como admin, pero a la hora de asignar permisos a otro usuario me genera un error: error acceso denegado para el usuario admin para la base de datos mysql, como puedo solucionar esto.
    Gracias

    • vicchiam dice:

      Creo que no tienes permisos en el usuario ‘admin’ en la base de datos mysql que es donde se crean los usuarios.

      Prueba esto con el usuario logeado como root:
      grant all privileges on mysql.* to ‘admin’@’localhost’ identified by ‘admin’ with grant option;

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*