Mientras intentaba que MySQL funcionara de manera remota, de alguna manera logré bloquearme con la cuenta raíz.
Normalmente, detendría el servicio MySQL y lo reiniciaría usando /etc/init.d/mysql --init-file
, pero cuando trato de hacer eso, dice que el script se ha convertido en un trabajo inicial y para usar el comando "service mysql". Desafortunadamente, que yo sepa, el service
comando no admite la --init-file
opción.
¿Hay alguna otra forma de restablecer el host para el usuario root?
Respuestas:
Detener MySQL:
luego inicie MySQL así
En este punto, debería poder conectarse a mysql (desde la máquina local) como root.
fuente
service mysqld restart --skip-grant-tables --skip-networking
. Entonces, después de la fijación de la raíz,service mysql restart
. Sin embargo, +1 !!!Finalmente, esa opción se pasará a
mysqld_safe
; la documentación describe esto en detalle. Es posible que pueda descubrir cómo está invocando MySQL, y luego iniciarlo manualmente de manera similar con su--init-file
opción agregada . ¡Sin embargo, asegúrese de iniciarlo como el usuario correcto!Si está usando Debian o Ubuntu, probablemente encontrará que hay un
debian-sys-maint
usuario equivalente a la raíz que puede usar temporalmente; encontrará la contraseña generada automáticamente para eso en/etc/mysql/debian.cnf
. ¿Puede haber alternativas en otros sistemas también? Esta opción probablemente sería más fácil,fuente