MySQL, nuevo usuario.

¿Cómo creo desde el shell de MySQL un usuario que tenga todos los privilegios pero en una base de datos que yo especifique?
Muchas gracias por tu tiempo.
Un saludo.

2 respuestas

Respuesta
1
Establecer privilegios en MySQL:
Para dar permisos, debes contactar con el usuario root, y éste debe hacer lo siguiente dentro de MySQL:
Use mysql
insert into user values('localhost', 'nombredeusuario', password('clavedeusuario'), 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y');
insert into db values ('localhost', 'basededatosconcreta', 'nombredeusuario', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y');
exit;
Luego, en la línea de comando de Linux, tecleará:
mysqladmin --user=root -pmiclavesecreta reload
Respuesta
1
Hi,
Mira, la administración de los usuarios y permisos o privilegios en mySQL se maneja a través de tres tablas en la base de datos "mysql". Para manejar estos datos tienes que entrar como usuario principal a esta bd y modificar o agregar registros.
Las tres tablas son "hosts", "db" y "users". En estas se agregan registros del tipo:
EN HOSTS: nombre del host + permisos para este host.
EN DB: nombre de la bd + host que la puede utilizar (% son todos) + usuario que la puede utilizar (% son todos).
EN USERS: nombre de usuario + permisos del usuario.
Para administrar una base de datos mySQL te recomiendo una aplicación para Windows llamado mySQL-Front que la podes encontrar en www.download.com.
Todas estas indicaciones son en base a mySQL para Linux pero me parece que andan también en Windows.
Cualquier otra consulta que tengas no dudes en preguntarme.
Nahuelon..
En primer lugar, estoy bajo Linux.
Lo que busco es un ejemplo de lo que tengo que hacer desde el shell de MySQL para añadir un nombre de usuario (por ejemplo nuvousuario) y darle todos los permisos desde el localhost para solo una base de datos (por ejemplo mibd), pero que no tenga ningún permiso sobre ninguna de las otras.
Sé que se hace con la sentencia GRANT pero me es imposible mirármelo ahora, o sea que pensé que no costaría mucho que me dieses un ejepmlo.
Un saludo y muchas gracias por tu tiempo y consejos.
Hi de nuevo,
Mira, lo que te explique esta muy claro. MySQL utiliza estas tres tablas para cualquier privilegio y/o acceso a las bases de datos.
Por ejemplo:
Para agregar una nueva base de datos tienes que insertar un registro nuevo en la tabla host de la base de datos mysql. Este registro lleva nombre del hosts (localhost, tuhost, maría, mi pc, etc.), el nombre de tu base de datos (personal, clientes, productos, etc.) y las acciones permitidas (insertar, actualizar, borrar registros, etc.) para esa base de datos desde ese host.
Para agregar un nuevo usuario tienes que insertar un registro en la tabla user. Este lleva: nombre de host del usuarios, nombre de usuarios, contraseña encriptada y los permisos que este va a tener.
Para darle permisos a los usuarios para acceder a una base de datos tienes que insertar un registro en la tabla db para setear los permisos que este va a tener. Este lleva: nombre del host, nombre de de la base de datos, nombre de usuario y permisos que va a tener.
Espero que ahora este más claro. Trata de bajarte el software que te dije mySQL-Front de www.download.com que es muy bueno para este tipo de administración.
Cualquier otra duda que tengas no dudes en preguntarme.
Nahuelon..

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas