Restaurar clave de root de mysql
Pasos para redefinir la clave del usuario root de mysql, si es que la olvidas.
Crear un archivo sql con un query para definir la nueva clave.
1 2 3 |
cd touch resetpass.sql; echo "UPDATE user SET Password=PASSWORD('TUNUEVACLAVE') WHERE user='root'; FLUSH PRIVILEGES;" > resetpass.sql; |
Detenemos el servicio mysql.
Para asegurarnos que el servicio se encuentra detenido y no se encuentra en la memoria, ubicamos el PID del proceso mysqld y matamos el proceso. Para hallar el PID de mysqld usamos el comando sudo cat /run/mysqld/mysqld.pid que nos imprimirá en pantalla el PID actual. Si este comando no imprime un PID entonces puedes proceder a ejecutar el sql (ves más adelante).
1 2 3 4 5 |
sudo service mysql stop sudo mysqld --skip-grant-tables sudo cat /run/mysqld/mysqld.pid 1544 sudo kill 1544 |
En el caso del ejemplo, el PID del proceso mysqld era 1544, por lo tanto ejecuto sudo kill 1544 para matar este proceso.
Por último, y luego de asegurarnos que el servicio mysql se encuentra detenido, le pedimos a mysql que ejecute nuestra sentencia sql para definir la nueva clave de root sin verificar previamente si tenemos acceso a las schemas (el comando mysqld_safe se encarga de eso).
1 2 |
sudo mysqld_safe --init-file=resetpass.sql sudo service mysql restart |
Luego reiniciamos el servicio mysql y listo.