Jak mogę usunąć moje hasło do MySQL? Nie chcę mieć hasła do połączenia z bazą danych. Na moim serwerze działa Ubuntu.
Jak mogę usunąć moje hasło do MySQL? Nie chcę mieć hasła do połączenia z bazą danych. Na moim serwerze działa Ubuntu.
Odpowiedzi:
Osobiście uważam, że zamiast tego lepiej jest ustawić hasło i zapisać je w katalogu /root/.my.cnf:
Pierwszy:
mysqladmin -u root password 'asdfghjkl'
Następnie edytuj plik root .my.cnf:
[client]
password = asdfghjkl
Upewnij się, że chmod 0600 .my.cnf.
Teraz masz hasło, ale nie jest ono już wyświetlane. Moja domyślna instalacja serwera MySQL to całkowicie losowe, unikalne hasło dla każdego serwera MySQL, zapisane w pliku .my.cnf w ten sposób.
mv ./+%Y%m%d. $ Db.sql $ OUTPUT` między mysqldump i gzip
Jeśli masz ustawione hasło do MySQL, postępuj zgodnie z instrukcjami w Odzyskaj hasło root MySQL , a następnie ustaw hasło na null:
Dla wersji 5.7.6 i nowszych
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass'
Dla wersji 5.7.5 i wcześniejszych
update user set password=PASSWORD("") where User='root';
* wymaga to ponownego uruchomienia DB (patrz instrukcje pod linkiem), aby to zadziałało.
sudo service mysql restart
unix_socketPlugin ma nieco inną rzecz.
Tak, mniej haseł może być dobrą rzeczą. Ale nie otwieraj bazy danych dla wszystkich.
przez unix_socket:
grant usage on *.* to 'root'@'localhost' identified via unix_socket;
Daje to dostęp do mysql bez hasła dla lokalnie zalogowanego użytkownika root. Btw. jest to ustawienie domyślne w najnowszych wydaniach Ubuntu / Debian.
some_user@box: mysql -u root # denied
root@box: mysql # good
some_user@box: sudo mysql # good, if "some_user" has sudo rights.
Slajdy wyjaśniające: https://www.slideshare.net/ottokekalainen/less-passwords-more-security-unix-socket-authentication-and-other-mariadb-hardening-tips .