Introducción
La contraseña raíz de MySQL le permite al usuario raíz tener acceso completo a la base de datos Mysql. A veces, las personas luchan con las contraseñas porque hoy en día se necesitan muchas. Si olvida o pierde la contraseña raíz de su base de datos MySQL, aún puede obtener acceso y restablezca la contraseña si tiene acceso al servidor y una cuenta de usuario habilitada para sudo.
Este artículo cubrirá cómo restablecer la contraseña de root para versiones anteriores y nuevas de MySQL.
Requisitos previos
Para recuperar su contraseña raíz de MySQL, necesitará:
- Acceso al servidor Linux que ejecuta MySQL con un usuario sudo
Paso 1:Identificación de la versión de la base de datos
Identifique la versión de la base de datos con el siguiente comando. Tome nota de la versión de la base de datos que está ejecutando, ya que las usará más adelante, ya que necesitará usar diferentes comandos para recuperar la contraseña de root.
mysql --version
Verá un resultado como este con MySQL:
MySQL outputmysql Ver 14.14 Distrib 5.7.16, para Linux (x86_64) usando el envoltorio EditLine
Paso 2:detener el servidor Mysql
Antes de cambiar la contraseña de root, debe detener el servicio Mysql
En Ubuntu y Debian Ejecute el siguiente comando:
sudo service mysql stop
En CentOS, Fedora y Red Hat Enterprise Linux Ejecute el siguiente comando:
sudo service mysqld stop
Después de detener el servidor Mysql, accederá a él manualmente para restablecer la contraseña de root.
Paso 3:Acceder a la base de datos con privilegios de raíz
Si ejecuta MySQL sin cargar información sobre los privilegios de usuario, le permitirá acceder a la línea de comando de la base de datos con privilegios de root sin proporcionar una contraseña. Esto le permitirá obtener acceso a la base de datos sin saberlo.
Inicie la base de datos sin cargar las tablas de concesión y asegúrese de agregar el símbolo Ampersand al final.
sudo mysqld_safe --skip-grant-tables &
Ahora puede conectarse a la base de datos como usuario root, que no debería solicitar una contraseña.
mysql -u root
En su lugar, verá un indicador de shell de la base de datos.
Escriba 'ayuda;' o '\ h' para obtener ayuda. Escriba '\c' para borrar la declaración de entrada actual.
mysql>
Paso 4:Establecer una nueva contraseña de raíz de Mysql
Para cambiar una contraseña raíz de Mysql, puede hacerlo cambiando el comando de usuario de actualización en la base de datos de Mysql
use mysql;
update user set authentication_string=PASSWORD("mynewpassword") where User='root';
flush privileges;
quit
Nota:para MySQL 5.7 y posteriores, se eliminó el campo de contraseña en el campo de la tabla mysql.user, ahora el nombre del campo es 'authentication_string'. Utilice el siguiente comando de actualización en lugar del anterior.
update user set authentication_string=PASSWORD("mynewpassword") where User='root';
Nota:asegúrese de reemplazar mynewpassword con su nueva contraseña de elección.
Una vez que se ejecuta el comando, debería ver la confirmación de que el comando se ha ejecutado correctamente.
Producción
Consulta OK, 0 filas afectadas (0.00 seg)
Paso 5:detener e iniciar el servicio Mysql
Una vez que haya actualizado la contraseña, debe reiniciar el servicio Mysql
En Ubuntu y Debian Ejecute el siguiente comando:
sudo service mysql stop sudo service mysql start
En CentOS, Fedora y Red Hat Enterprise Linux Ejecute el siguiente comando:
sudo service mysqld stop sudo service mysqld start
Paso 6:Inicie sesión en la base de datos
Intente iniciar sesión en las bases de datos con una nueva contraseña. Ingrese su nueva contraseña cuando se le solicite.
mysql -u root -p
Conclusión
Ahora puede tener acceso administrativo a MySQL. Asegúrese de que la nueva contraseña raíz que elija sea sólida y segura. Recuerde no volver a olvidarla :)