Agregar contraseña a root en MySQL

Cuando instalamos LAMP en Ubuntu no nos pide la contraseña de MySQL porque la autentificación la hace por auth_socket desde la versión 5.7 en adelante, por esta razón es que si intentamos acceder desde phpmyadmin no aparece la advertencia que se muestra abajo en la imagen. 


Lo ideal sería ir a la consola de MySQL y agregar un usuario con privilegios para administrar Bases de Datos y acceder desde phpmyadmin con ese usuario y contraseña, pero en esta ocasión vamos a cambiar la autentificación del usuario root de MySQL porque no es bueno que si alguien se hiciera de la contraseña del root del servidor pudiera también husmear nuestras bases de datos. 
Para cambiar la configuración debemos ir a la consola y entrar a MySQL con el siguiente comando:

julio@linuxenio:~$ sudo mysql

Si logramos ingresar bien notaremos que cambió el prompt de Linux por el del gestor de bases de datos MySQL y que ahora se lee mysql> como se ve en la imagen de arriba. Cuando está ahí solo espera que nosotros ingresemos comandos de MySQL y es lo que haremos para ver como estamos autentificándonos y luego decidir si cambiar ese status.
Usaremos el comando de abajo para la consulta:

mysql>
 SELECT user,authentication_string,plugin,host FROM mysql.user; Y nos arrojará los datos que se ven en la imagen de abajo:


En la imagen de arriba observamos que para root tiene asignado el plugin auth_socket.
A esto lo cambiaremos con lo siguiente:  mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password'; La palabra password debe ser reemplazada por la contraseña que queramos asignarle. Ahora nos resta indicarle al servidor que cargue la tabla con los permisos que cambiamos y para eso usaremos el siguiente comando:
mysql> FLUSH PRIVILEGES; 

Para verificar que los cambios se hayan producido recurriremos al comando anterior y comprobamos: mysql> SELECT user,authentication_string,plugin,host FROM mysql.user;


En la imagen de arriba vemos que los cambios fueron efectivos, ahora nos resta salir de MySQL y lo hacemos con  \q (o exit).

mysql> \q Luego de esta operación para volver a ingresar a MySQL debemos hacerlo con el siguiente comando: julio@linuxenio:~$ sudo mysql -u root -p

-u
es de usuario, en este caso root -p es para indicarle que ingresamos con contraseña, se puede poner a continuación pero no

es recomendable porque como la consola tiene memoria si alguien revisara en un descuido
conocería nuestra contraseña.





Aquí damos por terminado este tutorial.















No hay comentarios:

Publicar un comentario