mysql funcion crear usuario privilegios de otro

m0n3t3

a ver si me podeis ayudar con un problema que tengo que consiste en:

crear una funcion para que cree un usuario(que se da como parametro) con los privilegios que tiene el usuario root

estaba pensando en crearlo,cogiendo todas las columnas que hay en mysql.user que se llaman priv_xxx pero son muchisimas y quiero saber si hay alguna forma mas facil

voodoostock

primero creas el usuario:
CREATE USER 'nombreusuario'@'localhost' IDENTIFIED BY 'some_pass';

Después le das los privilegios
GRANT ALL PRIVILEGES ON . TO 'nombresuario'@'localhost'
WITH GRANT OPTION;

1 respuesta
m0n3t3

#2 me refiero a darle el grant exacto a otro usuario,se podria cambiar la tabla de user poniendole lo que tenga otro?

voodoostock

Otra forma seria un select a user de mysql database, ver los privilegios del usuario que quieres copiar y meterle un usuario nuevo mediante insert:

INSERT INTO user VALUES('localhost','nombreusuario',PASSWORD('contraseña'),'Y','Y',
'N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N',
'N','N','N','','','','',0,0,0,0);
FLUSH PRIVILEGES;

o cambiar los privilegios de una cuenta ya creada mediante UPDATE ........ WHERE user=nombredeusuario;

No sé si esto exactamente lo que quieres :S

m0n3t3

mas o menos si,es la unica forma que se me ocurria

gracias xD

1 respuesta
Merkury

#5 Y por qué no creas roles y punto?

1 respuesta
m0n3t3

#6 tambien puedo probarlo,aunque en principio era crear el usuario con una funcion y eso

gracias

1 respuesta
Merkury

#7 Claro, creas el usuario y le das el ROL de DBA (creo recordar que en mysql DBA = root o muy muy parecido)

Usuarios habituales

  • Merkury
  • m0n3t3
  • voodoostock