- La sentencia GRANT
- La sentencia CREATE USER
- Insertando directamente en la tabla user
- Utilizando un administrador de MySQL como SQLyog
- Los nombres de usuario pueden tener un máximo de 16 caracteres.
- Si se utiliza el modificar directamente la tabla user, tener cuidado de no modificar la estructura de ninguna tabla de la base mysql.
CREAR USUARIOS:
Aquí veremos como crear usuarios con la primer opción: grant
La sentencia grant nos permite crear cuentas de usuarios para MySQL y darles permiso, esta información es almacenada en las tablas de la base mysql. Primero tenemos que ingresar a nuestro servidor de base de datos como root o con una cuenta con nivel de root.
$ mysql -u root -p
Con grant se pueden asignar permisos a diferentes niveles, he aquí algunos ejemplos:
Nivel Global
En este ejemplo se crea un usuario llamado usuario con la contraseña miclave que tiene permisos sobre todas las bases de datos de nuestro servidor
mysql> GRANT ALL ON *.* TO 'usuario'@'localhost' IDENTIFIED BY 'miclave';
Nivel de Base de datos
En este ejemplo se crea un usuario llamado usuario1 con la contraseña miclave que tiene permisos sobre todas las tablas de la base de datos mibase
mysql> GRANT ALL ON mibase.* TO 'usuario1'@'localhost' IDENTIFIED BY 'miclave';
Nivel de Tabla
En este ejemplo se crea un usuario llamado usuario2 con la contraseña miclave que tiene permisos sobre la tabla mitabla de la base de datos mibase
mysql> GRANT ALL ON mibase.mitabla TO 'usuario2'@'localhost' IDENTIFIED BY 'miclave';
Con grant podemos también indicar que tipo de permisos un usuario tendrá sobre un objeto, en el siguiente ejemplo creamos un usuario que tiene permisos de seleccionar e insertar en la tabla tabla1 de la base de datos mibase2:
mysql> GRANT SELECT, INSERT ON mibase2.mitabla1 TO 'miusuario'@'localhost' IDENTIFIED BY 'miclave';Nota:
Después del @ nosotros indicamos el contexto del usuario, en los ejemplos anteriores todos los usuarios podrán conectarse solo por la maquina local (localhost), es decir, que se impedirá conectarse de forma remota. Si queremos que se conecte el usuario desde cualquier equipo tendra que agregar el caracter %.
mysql> GRANT ALL ON mibase.* TO 'usuario'@'%' IDENTIFIED BY 'miclave';ELIMINAR USUARIOS
Para eliminar usuarios utiliza el comando DROP USER, para utilizar este comando debe tener el permiso global de CREATE USER o el permiso DELETE para la base de datos mysql. Para borrar una cuenta y sus permisos la sintaxis es la siguiente:
mysql> DROP USER miusuario;
Si tiene el mismo usuario en diferentes ámbitos, solo necesitara especificar el usuario deseado en el ámbito correcto:
mysql> DROP USER miusuario@localhost;
NOTA:
En MySQL 5.0.0 DROP USER solo borra cuentas que no tienen permisos, para eliminar completamente la cuenta incluyendo sus permisos en estas versiones, tendrá que usar SHOW GRANTS para ver que permisos tiene ese usuario y con REVOKE tendrá que revocar sus permisos. A partir de MYSQL 5.0.2 ya se pueden eliminar cuentas que tienen permisos.
PERMISOS
Permiso | Significado |
---|---|
ALL | Da todos los permisos simples, excepto GRANT OPTION |
ALTER | Permite el uso de ALTER TABLE |
CREATE | Permite el uso de CREATE TABLE |
CREATE USER | Permite el uso de CREATE USER, DROP USER, RENAME USER y REVOKE ALL PRIVILEGES |
CREATE VIEW | Permite el uso de CREATE VIEW |
DELETE | Permite el uso de DELETE |
DROP | Permite el uso de DROP TABLE |
INSERT | Permite el uso de INSERT |
SELECT | Permite el uso de SELECT |
UPDATE | Permite el uso de UPDATE |
GRANT OPTION | Permite dar privilegios |
1 comentario:
Útil y sencillo de entender.gracias
Publicar un comentario