Después de un bloqueo, reinstalé Ubuntu en mi máquina de desarrollo sobre la instalación anterior, y después de reinstalar todos los paquetes necesarios (incluidos mysql-server y mysql-client) seguí restaurando la base de datos de desarrollo. Desafortunadamente, no puedo conectarme.
Esto funciona :
$ sudo su
# mysql -u root
esto no lo hace
$ mysql -u root -p
- Intenté purgar
mysql-*
y reinstalar todo. - He intentado reconfigurar (es decir
sudo dpkg-reconfigure mysql-server-5.7
) - Intenté restablecer manualmente la contraseña mediante
UPDATE
consultas. - lo he probado todoaquí(excepto que la tabla
user
no tiene unapassword
columna, sinoauthentication_string
una)
Por favor, ¿alguien puede ayudarme a hacer que esto funcione?
** Editar **
mysql> SELECT user, host, authentication_string, password_expired, account_locked FROM user WHERE user = 'root';
+------------------+-----------+-------------------------------------------+------------------+----------------+
| user | host | authentication_string | password_expired | account_locked |
+------------------+-----------+-----------------------+------------------+----------------+
| root | localhost | *<password hash> | N | N |
| root | % | *<password hash> | N | N |
+------------------+-----------+-----------------------+------------------+----------------+
5 rows in set (0.00 sec)
Ambos root
usuarios tienen la misma contraseña, configurada con PASSWORD('password')
, y se eliminaron todos los privilegios, luego se reinició el servicio.
Al contrario de lo que dice la documentación, ejecutar sudo dpkg-reconfigure mysql-server-5.7
nonome pide que especifique una nueva contraseña para root. El comando finaliza exitosamente, pero nunca se me pide que especifique una contraseña.
Respuesta1
encontré mi respuesta,aquí.
Básicamente, el plugin
valor para el usuario root@'localhost'
no era mysql_native_password
.
UPDATE user SET plugin = 'mysql_native_password' WHERE user = 'root';
FLUSH PRIVILEGES;
funcionó y finalmente pude iniciar sesión sin privilegios de superusuario.
Respuesta2
Probablemente los permisos de MySQL no se restauraron. El hecho de que pueda iniciar sesión en el servidor sin ningún permiso sugiere que necesita establecer la contraseña de root y agregar cualquier otro usuario que deba usarse con sus respectivos permisos.