Chociaż kilka z tych odpowiedzi jest pomocnych, kilka jest mylących, ponieważ użytkownik root w systemie Unix i użytkownik root w mysql nie są tacy sami i w zasadzie nie mają żadnych relacji innych niż obaj używają nazwy logowania „root”. Może to oczywiste, ale wydaje się, że niektóre odpowiedzi łączą te dwie kwestie.
Co może być przydatną opcją (może istnieje?) Dla mysqld, byłoby zezwolenie programom klienckim takim jak mysql lub mysqldump itp. Działającym jako root systemu UNIX na dostęp do root @ localhost mysqld bez hasła bez konieczności przechowywania hasła root @ localhost (mysql) w pliku my.cnf lub podobnym.
Wiem, że to trochę denerwuje, ale powodem jest to, że każdy, kto działa jako lokalny (na serwerze mysqld) root root w unixie, może i tak ominąć zabezpieczenia mysqld. A posiadanie my.cnf z hasłem root mysqld 7x24 lub nawet tworzenie / usuwanie my.cnf z hasłem root mysql (skąd to hasło pochodzi?) W locie (np. Aby zrobić mysqldump) denerwuje mnie .
Wymagałoby to pewnej infrastruktury i myślenia, ponieważ trzeba by było zaufać mysql / mysqldump / etc, aby przekazać mysqld, że naprawdę wierzy, że jest on zarządzany przez lokalne konto root Unix.
Ale na przykład ograniczenie tylko do gniazda unix mysqld, bez TCP, może pomóc, przynajmniej jako zdecydowanie zalecana opcja tej opcji. To może ustalić, że klient działa lokalnie, co prawdopodobnie nie wystarcza. Ale to może być początek pomysłu. Być może przesłanie deskryptora pliku przez gniazdo unix może być kolejnym kawałkiem (google, jeśli to brzmi jak szalona rozmowa).
PS Nie. Nie zamierzam tutaj próbować burzy mózgów, jak to wszystko może działać w systemie operacyjnym innym niż Unix, co prawdopodobnie przekłada się na inne systemy operacyjne.