div>
proszę bardzo. Po prostu uruchomiłeś maszynę wirtualną do testów, zainstalowałeś MySQL przy użyciu swojego ulubionego menedżera pakietów, uruchomiłeś serwer i nie udało Ci się połączyć:
$ mysql --user=root
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
od wersji 5.,7, MySQL jest domyślnie Bezpieczny:
- losowe hasło root jest generowany podczas instalacji; musisz przeczytać to hasło z dziennika serwera
- musisz zmienić to hasło przy pierwszym połączeniu
- nie można użyć pustego hasła z powodu wtyczki validate_password
To wszystko jest dobre pod względem bezpieczeństwa. Ale jeśli dopiero instalujesz MySQL na lokalnej maszynie wirtualnej do własnych testów, może to być naprawdę irytujące.
aby usunąć hasło root MySQL, po prostu uruchom następujący skrypt zaraz po zainstalowaniu i uruchomieniu serwera MySQL:
Na MySQL 5.,7:
On MySQL 8.0:
Note: you must execute this script as root.,
skrypt wykonuje następujące czynności:
- odczytuje tymczasowe hasło z pliku dziennika
- zmienia to hasło na inne tymczasowe hasło, które przechodzi
validate_password
sprawdza - odinstalowuje
validate_password
wtyczka (lub komponent w MySQL 8) - ustawia puste hasło
możesz teraz połączyć się bez hasła:
uważaj, aby Twoja instalacja MySQL była niezabezpieczona, nie powinieneś używać tego do niczego poważnego!,
bezpieczna alternatywa
Jeśli korzystasz głównie z MySQL z linii poleceń, możesz zachować kontoroot
chronione hasłem, jednocześnie unikając niedogodności związanych z koniecznością podania hasła w linii poleceń.
Po prostu utwórz plik~/.my.cnf
:
user = root
password = xxx
Możesz teraz po prostu wpisaćmysql
, a Klient MySQL automatycznie zaloguje się z tymi poświadczeniami.