Nie możesz się zalogować do MySQL jako root?


8

Wygląda na to, że nie mogę zalogować się do MySQL (właściwie MariaDB) jako użytkownik root w Ubuntu 15.04 (zaktualizowałem z 14.04 do 14.10)

Próbowałem już zresetować hasło.

Co jest praca, jest sudo mysql- ale chcę zalogować się jako root z innym użytkownikiem używając mysql -uroot -p. Kiedy tworzę nowego użytkownika z pełnymi prawami i hasłem, działa.

Czy coś się zmieniło?


ehm ... ”, ale chcę zalogować się jako root”. Dla mnie (!) nigdy nie było tego powodu. Możesz skonfigurować system dla dowolnego użytkownika innego niż root i zrobić to samo dla tego użytkownika, jeśli chcesz ;-)
Rinzwind

@Rinzwind Wiele powodów, aby zalogować się jako root w bazie danych . Jest to jedyny sposób zarządzania użytkownikami, bazami danych itp. Nie ma wewnętrznego mechanizmu sudo.
Oli

@oli używamy do tego innego użytkownika. to znaczy. dostęp z „rootem” jest możliwy tylko przy użyciu „sudo su” do zresetowania mysql, ale ten nie wymaga uwierzytelnienia.
Rinzwind

Odpowiedzi:


6

Więc przeszedłeś z wersji 5.5.44-1ubuntu0.14.04.1do 10.0.20-0ubuntu0.15.04.1. Brzmi straszniej niż to jest, z jakiegoś powodu tak właśnie nazwali 5.6 .

Wygląda na to, że nowsze wersje MariaDB dodały wtyczkę do tabeli użytkowników, aby wymusić uwierzytelnianie poprzez ustaloną ścieżkę. W takim przypadku, rootużytkownik bazy danych jest zmuszony przez na unix_socketwtyczce . Wydaje się to również znane, jak auth_socketw niektórych kręgach.

W każdym razie ta wtyczka ogranicza rzeczy, więc tylko rootużytkownik systemu może zalogować się jako baza danych root, bez hasła. Dokonali wyboru bezpieczeństwa.

Możesz to cofnąć, opróżniając pole wtyczki dla rootużytkownika :

shell$ sudo mysql -u root

[mysql] use mysql;
[mysql] update user set plugin='' where User='root';
[mysql] flush privileges;

Określone hasło powinno potem działać. Nie jestem jednak pewien, jak to jest zalecane.


Po tym logowanie sudo mysql -u rootnie będzie już możliwe. Oznacza to, że /etc/mysql/debian.confnależy również dostosować.
Alex

4
Nie działało dla mnie. Po tym nie mogłem już nawet zalogować się przy użyciu „sudo mysql -u root”.
MrSmith42
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.