dzięki @thusharaK mogłem zresetować hasło roota bez znajomości starego hasła.
Na Ubuntu zrobiłem co następuje:
sudo service mysql stop
sudo mysqld_safe --skip-grant-tables --skip-syslog --skip-networking
Następnie uruchom mysql w nowym terminalu:
mysql -u root
I uruchom następujące zapytania, aby zmienić hasło:
UPDATE mysql.user SET authentication_string=PASSWORD('password') WHERE User='root';
FLUSH PRIVILEGES;
W MySQL 5.7 pole hasła w polu tabeli mysql.user zostało usunięte, teraz nazwa pola to 'authentication_string'.
Wyjdź z trybu awaryjnego mysql i uruchom usługę mysql:
mysqladmin shutdown
sudo service mysql start