Añadiendo Usuarios al sistema MySQL
Si has seguido todos los pasos hasta aquí, tendrás una BD llamada mysql que es en la que se administran todos los passwords y usuarios de MySQL, lo primero que haremos será cambiar la password del root ( que ahora está vacía ):
- Cambiamos la password de root con el programa mysqladmin:
[shell]# mysqladmin -u root password nuevo_password
- Ahora añadiremos algunos usuarios para ver como funciona este sistema:
Para añadir usuarios, usaremos el comando GRANT, que tiene esta sintaxis:
GRANT priv_type [(column list)] [, priv_tipe[(column_lis)] ...]
ON {table_name | * | *.* | db_name.*}
TO user_name [IDENTIFIED BY 'password']
[, user_name [IDENTIFIED BY 'password'] ...]
[WITH GRANT OPTION]
Bueno, puede parecer más difícil de lo que es en realidad, imaginemos que queremos crear un usuario llamado Pedro con todos los permisos sobre su base de datos llamada pedro_db, y que solo pueda conectar desde cualquier máquina de dominio.com pues haremos algo así:
[shell]# mysql -p
Enter password:
mysql> GRANT insert,select,update,delete,create,drop,alter ON pedro_db.* TO pedro@"%.dominio.com" IDENTIFIED BY 'p3dr0';
Una explicación de lo anterior, vamos a darle permiso a hacer ( insert, select, update ... ) sobre cualquier tabla de pedro_db a un usuario llamado pedro que conectará desde cualquier máquina de dominio.com, cuya password será p3dr0.
Ahora vamos a crear otro superusuario llamado ferdy que tendrá todos los privilegios, y que podrá conectar desde cualquier sitio:
mysql> GRANT ALL PRIVILEGES ON *.* TO ferdy@"%" IDENTIFIED BY 'gh4limones25tf' WITH GRANT OPTION;
mysql> GRANT ALL PRIVILEGES ON *.* TO ferdy@localhost IDENTIFIED BY 'gh4limones25tf' WITH GRANT OPTION;
Con esto tendremos a nuestro nuevo superusuario.
Supongamos por último que queremos borrar a Pedro, pues como los usuarios se guardan en la base de datos mysql en la tabla user:
mysql> use mysql;
mysql> DELETE FROM user WHERE user = 'pedro';
Pedro habrá desaparecido de nuestro sistema MySQL.
Y teniendo en cuenta que Ferdy no debería tener tantos permisos le quitaremos los permisos sobre la base de datos usuarios:
mysql> REVOKE ALL PRIVILEGES ON usuarios.* FROM ferdy;
Y Ferdy no tendrá permisos sobre la base de datos usuarios. La sintaxis de REVOKE es:
REVOKE priv_type [(column_list)] [, priv_type [(column_list)] ...]
ON {table_name | * | *.* | db_name.*}
FROM user_name [, user_name ...]
- Y esto es todo lo básico que necesitas saber para empezar a trabajar con MySQL sobre Linux
Autor: Ferdyx
http://www.ferdyx.org/
Usuarios que han visto este tema también han visto...
- Guardar y extraer imágenes en MySQL
- MySQL en RedHat
- Resolver Problemas de Autenticacion con MySQL
- Concatenar la salida con MySQL
- Conexión remota a MySQL con MS Access
- Versión imprimible de este documento
- Enviar por e-mail este documento