por - Restablecimiento de la contraseña de root de MySQL cuando no se conoce la contraseña actual
recuperar contraseña root mysql windows (6)
He heredado un servidor que tiene mysql instalado en él. No tengo la contraseña de mysql para ningún usuario, ni siquiera root (aunque tengo la contraseña de root de Linux). Además, solo soy consciente de que otra cuenta de usuario es la raíz de la raíz, y esa no tiene privilegios para realizar ninguna acción, ni siquiera SELECT.
Intenté detener el servicio de mysql, reiniciar con la opción de tablas de concesión de omisión y simplemente iniciar sesión sin contraseña:
service mysqld stop
service mysqld start --skip-grant-tables &
mysql -u root
Pero consigue el siguiente error:
Access denied for user ''root''@''localhost'' (using password: NO)
Entonces intenté restablecer la contraseña:
mysqladmin -u root password ''newpw''
Pero eso también da un error de acceso denegado.
También intenté iniciar sesión como el otro usuario (sin pw) y ejecutar el siguiente comando:
UPDATE mysql.user SET Password=PASSWORD(''MyNewPass'') WHERE User=''root'';
y obtuve este error:
ERROR 1142 (42000): UPDATE command denied to user ''''@''localhost'' for table ''user''
También he intentado eliminar mysql y reinstalar, pero obtengo los mismos errores.
¿Alguna sugerencia?
`UPDATE mysql.user SET Password = PASSWORD (''MyNewPass'') DONDE Usuario = ''root''; PRIVILEGIOS DE LAVADO;
Escriba las declaraciones UPDATE y FLUSH cada una en una sola línea. La instrucción UPDATE restablece la contraseña de todas las cuentas raíz y la instrucción FLUSH le dice al servidor que vuelva a cargar las tablas de concesión en la memoria para que note el cambio de contraseña.
Debe asegurarse de que está ejecutando el comando como root utilizando el comando sudo.
Encontré que esta instruction para restablecer la contraseña de mysql funciona bien.
Siguiendo este procedimiento, deshabilitará el control de acceso en el servidor MySQL. Todas las conexiones tendrán un acceso root. Es bueno desconectar su servidor de la red o al menos deshabilitar el acceso remoto.
Para restablecer su contraseña de mysqld solo siga estas instrucciones:
Stop the mysql demon process using this command :
sudo /etc/init.d/mysql stop
Start the mysqld demon process using the --skip-grant-tables option with this command
sudo /usr/sbin/mysqld --skip-grant-tables --skip-networking &
Debido a que no está verificando los permisos de usuario en este momento, es más seguro deshabilitar la red. En Dapper, / usr / bin / mysqld ... no funcionó. Sin embargo, mysqld --skip-grant-tables lo hizo.
start the mysql client process using this command
mysql -u root
from the mysql prompt execute this command to be able to change any password
FLUSH PRIVILEGES;
Then reset/update your password
SET PASSWORD FOR root@''localhost'' = PASSWORD(''password'');
If you have a mysql root account that can connect from everywhere, you should also do:
UPDATE mysql.user SET Password=PASSWORD(''newpwd'') WHERE User=''root'';
Alternate Method:
USE mysql
UPDATE user SET Password = PASSWORD(''newpwd'')
WHERE Host = ''localhost'' AND User = ''root'';
And if you have a root account that can access from everywhere:
USE mysql
UPDATE user SET Password = PASSWORD(''newpwd'')
WHERE Host = ''%'' AND User = ''root'';
Para cualquiera de los métodos, una vez que haya recibido un mensaje que indique que una consulta fue exitosa (una o más filas afectadas), vacíe los privilegios:
PRIVILEGIOS DE LAVADO;
A continuación, detenga el proceso mysqld y vuelva a iniciarlo con la forma clásica:
sudo /etc/init.d/mysql stop
sudo /etc/init.d/mysql start
Dos opciones:
Si desea utilizar --skip-grant-tables, es posible que deba iniciar mysqld directamente, ya que las opciones no se pasan necesariamente a través del script de inicio.
De lo contrario, intente estas instrucciones del manual.
En mi caso, sucedió lo mismo, pero estaba cometiendo un error al iniciar sesión en el indicador mysql. Estaba haciendo mysql en lugar de mysql -u root -p
Para mysql 5.7.16 en Ubuntu 16.04 esto funcionó:
iniciar sesión sin contraseña:
sudo mysqld_safe --skip-grant-tables --skip-networking &
Cambia la contraseña:
ESTABLECER CONTRASEÑA PARA ''root'' @ ''localhost'' = ''mypass'';
Solución encontrada en MySQL 5.7 Manual de referencia
intente sudo dpkg-reconfigure mysql-server-5.5
y se le pedirá la nueva contraseña de root.
Reemplace 5.5 con su versión actual de mysql-server