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_socket
Plugin 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 .