manejo de usuarios en MySQL

shell> mysql --user=root mysql -p

permisos y que implican

# ver usuarios creados
SELECT user,authentication_string,plugin,host FROM mysql.user;
 
# cambiar root
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
 
# guardar los cambios
FLUSH PRIVILEGES;

crea «dos» usuarios (el mismo, para acceder desde hosts diferentes), dándoles todos los privilegios

mysql> CREATE USER 'monty'@'localhost' IDENTIFIED BY 'some_pass';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'monty'@'localhost' WITH GRANT OPTION;
mysql> CREATE USER 'monty'@'%' IDENTIFIED BY 'some_pass';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'monty'@'%' WITH GRANT OPTION;

crea un usuario par localhost sin contraseña que puede hacer hacer RELOAD y PROCESS (un usuario de emergencia para sistemas)

mysql> CREATE USER 'admin'@'localhost';
mysql> GRANT RELOAD,PROCESS ON *.* TO 'admin'@'localhost';

para ver los permisos que tiene un usuario

mysql> SHOW GRANTS FOR 'admin'@'localhost';

asignar permisos concretos a usuarios:

mysql> CREATE USER 'custom'@'localhost' IDENTIFIED BY 'obscure';
mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP
    ->     ON bankaccount.*
    ->     TO 'custom'@'localhost';

revocar permisos:

mysql> REVOKE ALL ON *.* FROM 'user'@'localhost';

/via: https://www.ochobitshacenunbyte.com/2018/06/13/cambiar-contrasenas-de-usuarios-en-mysql-y-mariadb/

# versiones anteriores 5.7.5
SET PASSWORD FOR root@localhost=PASSWORD('');
# versiones posteriores 5.7.5
UPDATE mysql.user SET Password=PASSWORD(‘NuevaContraseña’) WHERE USER=’nombreUsuario’ AND Host=”NombreHost”;
FLUSH PRIVILEGES;
ALTER USER ‘nombreUsuario’@’localhost’ IDENTIFIED BY ‘NuevaContraseña’;
  • bbdd/mysql/users/start.txt
  • Darrera modificació: 26/10/2021 03:52
  • per mate