Inmediatamente después de instalar MySQL, tendrá el root
usuario disponible.
Este es el usuario que puede usar para probar y ver si MySQL está funcionando, pero no debería ser el usuario para otros tipos de usos.
¿Por qué? Porque es demasiado poderoso .
Un gran poder conlleva una gran responsabilidad (dijo el tío de Spider-Man). Y en particular, gran peligro si cometes errores.
En su lugar, debe crear usuarios ad-hoc que solo tengan permisos para realizar su trabajo y nada más. Lo mismo para usar Linux o cualquier sistema Unix, por ejemplo:no quieres usar el root
usuario, sino su propia cuenta de usuario.
Para crear un nuevo usuario, conéctese a MySQL usando el root
usuario:
mysql -u root -p
luego usa el comando
CREATE USER '<username>'@'localhost' IDENTIFIED BY '<password>';
Por ejemplo, para crear un usuario llamado test_user
con contraseña test_password12A
ejecuta el comando:
CREATE USER 'test_user'@'localhost' IDENTIFIED BY 'test_password12A';
El comando debe devolver una línea que diga Query OK, 0 rows affected (X.XX sec)
:
Si usó una contraseña no válida, el sistema le diría algo como ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
. En este caso el error dice que la contraseña no es lo suficientemente compleja, porque cuando instalé MySQL le dije que usara una determinada política de contraseñas.
¡Genial! Ahora se ha creado el usuario y podemos conectarnos usando ese usuario a MySQL. Desde la línea de comando puede salir escribiendo QUIT
y escribiendo:
mysql -u test_user -p
Ahora, si trato de crear una base de datos, obtendría un error que dice ERROR 1044 (42000): Access denied for user 'test_user'@'localhost' to database 'testing'
:
¿Por qué? Porque el usuario no tiene permiso para crear una nueva base de datos .
Veremos cómo trabajar con permisos en otro tutorial.
Vale la pena mencionar el @'localhost'
cadena que usamos para crear el usuario. Esto le dice a MySQL que el usuario solo puede conectarse desde localhost. Lo cual está bien cuando se prueban las cosas y cuando cualquier aplicación que se conecte a MySQL se ejecuta en la misma computadora que ejecuta el DBMS.
Cuando esto no es cierto, debe ingresar manualmente la IP desde la que se conectará el usuario o usar el %
comodín:
CREATE USER 'test_user'@'%' IDENTIFIED BY 'test_password12A';
Quiero cerrar este tutorial mostrando cómo eliminar el usuario que creamos:
DROP USER 'test_user'@'localhost';