Przejmując do utrzymania serwer pojawiają się różne ciekawe rozwiązania ale najczęściej nie udaje się uzyskać haseł dostępowych do usług na nim postawionych.
Przykładem takiej usługi jest np MySQL / MariaDB postawiona w środowisku docker. W takim przypadku musisz:
Nadpisz punkt wejścia (entrypoint) w pliku docker-compose.yml dla kontenera MariaDB Docker, dodając:
entrypoint: mysqld_safe --skip-grant-tables --user=mysql
Następnie uruchom stos Docker Compose:
$> docker-compose up -d
Zaloguj się do kontenera Docker:
$> sudo docker exec -ti nazwa-kontenera-docker bash
Zaloguj się jako root bez hasła:
$> mysql -u root -p
Zmień hasło roota w CLI MySQL:
mysql> FLUSH PRIVILEGES;
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'twoje_tajne_hasło';
mysql> FLUSH PRIVILEGES;
Wyloguj się z MySQL i kontenera Docker (2x exit), usuń linię entrypoint z pliku docker-compose.yml i przeładuj stos Docker Compose:
$> docker-compose up -d
Teraz możesz zalogować się do kontenera MariaDB i połączyć z bazą danych używając nowego hasła roota:
$> sudo docker exec -ti nazwa-kontenera-docker bash
$> mysql -u root -p