MySQL 8.0, cambiar contraseña de root

MySQL

El usuario root en MySQL 8.0 viene configurado sin contraseña ya que el mecanismo o plugin de autenticación es auth_socket, eso se puede comprobar con un

SELECT User,Host,plugin FROM mysql.user WHERE user='root';
+------+-----------+-------------+
| User | Host      | plugin      |
+------+-----------+-------------+
| root | localhost | auth_socket |
+------+-----------+-------------+

La configuración anterior garantiza un alto nivel de seguridad ya que se pueden conectar al servidor MySQL solo usuarios UNIX con privilegios de root y desde localhost, cambiar este comportamiento conlleva riesgos de seguridad pero si aún desea ejecutar el método que se describe a continuación hágalo en un ambiente los más seguro posible como en una VPN, red aréa local doméstica, despliegue un muro cortafuego que sea capaz de neutralizar cualquier ataque a su servidor de BD o configure su MySQL para aceptar conexiones vía SSL.

Ahora para permitir que el usario root se conecte desde cualquier dispositivo usando contraseña debemos cambiar el valor de las columnas Host y Plugin, primero cambiemos el valor de la columna Host con un:

UPDATE mysql.user SET Host='%' WHERE User='root' AND Host='localhost';

el % significa que nos podemos conectar desde cualquier dispositivo siempre y cuando la directiva bind-address lo permita te recomiendo el siguiente video: ¿Cómo conectarse a un servidor MySQL remoto? y el artículo # Acceder a un servidor MySQL desde la Red de Área Local luego

FLUSH PRIVILEGES; 

y ahora procederemos a cambiar el mecanismo de autenticación para ello debemos ver los mecanismos de autenticación disponibles con:

SHOW PLUGINS;

debemos fijarnos en los que tienen AUTHENTICATION en la columna Type, ahora cambiamos el método de autenticación de root con:

ALTER USER root IDENTIFIED WITH caching_sha2_password BY 'nueva-contraseña'; 

y refrescamos privilegios

FLUSH PRIVILEGES;

Enlaces de interés


YouTube video

Administrar MySQL desde la línea de comandos, 5 (18)

2 comentarios en “MySQL 8.0, cambiar contraseña de root”

  1. Hola, Me llamo Julio y me gusta mucho el trabajo que vienes realizando.

    Hay algunas cosas que pasan en el dia a dia y que no hay mucha documentacion al respecto. En algunos casos, tienes que ir a stackoverflow a buscar informacion y pierdes mucho tiempo en encontrarlas. a veces no se adaptan a tu problema 100 %.

    Por Tu experiencia, que veo que es mucha, podrias hacer algunos videos que traten estos temas.

    Un saludo.

    1. Hola Julio gracias por el comentario, en cuanto a lo que planteas es así: la mayoría de las veces lo que encontramos solo resuelve un parte de lo que andamos buscando, por eso se hace necesario consultar varias fuentes.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.