Po awarii ponownie zainstalowałem Ubuntu na moim komputerze deweloperskim w stosunku do poprzedniej instalacji, a po ponownej instalacji wszystkich niezbędnych pakietów (w tym serwera mysql i klienta mysql) kontynuowałem przywracanie bazy danych deweloperów. Niestety nie mogę się połączyć.
To działa :
$ sudo su
# mysql -u root
to nie
$ mysql -u root -p
- Próbowałem wyczyścić
mysql-*
i ponownie zainstalować wszystko. - Próbowałem ponownie skonfigurować (tj.
sudo dpkg-reconfigure mysql-server-5.7
) - Próbowałem ręcznie zresetować hasło za pomocą
UPDATE
zapytań. - Próbowałem wszystkiego tutaj (ecept że tabela
user
nie posiadapassword
kolumny, aleauthentication_string
jeden)
Czy ktoś może mi pomóc w uruchomieniu tej rzeczy?
** Edytować **
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)
Obaj root
użytkownicy mają to samo hasło, ustawione za pomocą PASSWORD('password')
i wszystkie uprawnienia zostały usunięte, a następnie usługa została uruchomiona ponownie.
Wbrew temu, co twierdzi, że dokumentacja, bieganie sudo dpkg-reconfigure mysql-server-5.7
czy nie poprosi mnie, aby określić nowe hasło dla użytkownika root. Polecenie kończy się pomyślnie, ale nigdy nie jestem proszony o podanie hasła.
root
, ale nadal mogę zalogować się do konsoli mysql bez hasła w trybie superużytkownika (tj. Root). Ale jeśli podamroot
użytkownika w trybie „normalnym”, hasło ustawione dla tego użytkownika zostanie zignorowane i nadal będę miał odmowę dostępu.