Odkryłem, że mysql.sock jest usuwany, gdy usługa mysql jest zatrzymana i mysqld_safe nie może jej utworzyć (nie mogłem znaleźć przyczyny), więc moje rozwiązanie utworzyło kopię zapasową folderu skarpet i przywrócenie przed uruchomieniem mysqld_safe
Uruchom serwer
$ sudo service mysql start
Idź do folderu skarpet
$ cd /var/run
Utwórz kopię zapasową skarpety
$ sudo cp -rp ./mysqld ./mysqld.bak
Zatrzymaj serwer
$ sudo service mysql stop
Przywróć skarpetę
$ sudo mv ./mysqld.bak ./mysqld
Uruchom mysqld_safe
$ sudo mysqld_safe --skip-grant-tables --skip-networking &
Uruchom powłokę mysql
mysql -u root
Zmień hasło
FLUSH PRIVILEGES;
SET PASSWORD FOR [email protected]'localhost' = PASSWORD('my_new_password');