MySQL Logo con un fondo no muy transparente o.O
sudo mysql
o
mysql -u root -p
segun como tengamos configurado nuestro usuario root.
Luego desde el prompt de MySQL ejecutamos lo siguiente:
mysql>
CREATE USER 'nombre_usuario'@'localhost' IDENTIFIED BY 'password';
Y luego le damos todos los privilegios al usuario con el siguiente comando:
mysql>
GRANT ALL PRIVILEGES ON *.* TO 'nombre_usuario'@'localhost' WITH GRANT OPTION;
Y ya podemos salir de mysql porque el trabajo esta terminado :D
mysql> exit
Saludos amigos y ojala este post les haga la vida mas facil y les evite las miles de frustraciones que seguro (como yo) ya tuvieron :D
BONUS TRACK
¡¡PERO OJO!! capaz vos no querías darle TOOOODOS los privilegios al nuevo usuario y es entendible. ¿¿y ahí?? ¿Qué se hace?
¡Tranca che! Vos sabes que en mate&code no te vas sin EL DATO, por eso te dejo esta mini guía para comprender el comando GRANT de SQL:
En realidad la instrucción seria algo asi como esto:
GRANT [permiso] ON [Base de Datos].[Tabla/s] TO [usuario]@'localhost'
Vamos a descomponer el comando para entenderlo mejor:
GRANT: Otorga privilegios a un usuario especificado en las BD especificadas.
[permisos]: Aquí podemos elegir entre varias opciones según la cantidad de privelgios que queremos darle al usuario. Las mismas se listan a continuación:
ALL PRIVILEGES: Otorga todos los privilegios.
SELECT: Permite hacer consultas.
INSERT: Permite Insertar registros nuevos.
UPDATE: Permite actualizar registros.
DELETE: Permite eliminar registros.
CREATE: Permite crear tablas.
DROP: Permite eliminar tablas.
ALTER: Permite modificar la definición de las tablas.
INDEX: Permite crear índices en tablas existentes.
GRANT OPTION: Permite dar o quitar privilegios a los usuarios de la BD.
* NOTA: Estos se pueden combinar de cualquier forma para dar los privilegios específicos que queramos darle a un usuario determinado. Obviamente ALL PRIVILEGES si se lo usa debería ir solo ya que da todos los privilegios y no tendria sentido combiarnlo con otro.
[BD]: Indica sobre que BD queremos dar los privilegios antes mencionados. Si usamos * decimos que le damos permiso sobre TODAS las BD del sistema.
[Tablas/s]: Indica sobre que Tablas de la/s BD indicadas anteriormente queremos darle permisos al usuario.
Si usamos * decimos que le damos permiso sobre TODAS las Tablas de las BD indicadas.
[usuario]: A que usuario le queremos dar los permisos detallados anteriormente. Si usamos el "*" diremos que TODOS los usuarios tienen permisos para realizar dicha acción.
Veamos un par de ejemplos para entender esto:
GRANT SELECT, INSERT, UPDATE, DELETE ON *.* TO 'jorgehoracio'@'localhost'
Dimos permisos de Consultar, Insertar, Actualizar y Eliminar registros a jorgehoracio sobre todas las BD y todas las tablas existentes.
GRANT SELECT ON propietarios TO '*'@'localhost'
Se dieron permisos a TODOS LOS USUARIOS para Consultar la tabla propietarios.
Para eliminar los permisos se utiliza la clausula REVOKE en lugar de GRANT y bajo la misma estructura.
En la anterior sentencia se le quitaron todos los privilegios al usuario luisandreseim de todas las tablas y todas las bases de datos.
REVOKE ALL PRIVILEGES ON *.* TO 'luisandreseim'@'localhost'
Pero este tema de quitar permisos lo veremos con mas detalles en una próxima entrada.
¡AHORA SI FINAL FINAL DE TODO!
Espero que esta sencilla guía les ayude a volver a tomar el control sobre sus BD's 😉
¡¡Un abrazo virtual grande y a disfrutar de esos mates en estos días frescos!!