„Unix_socket” został wywołany przez proces uwierzytelniania mysql (być może związany z częściową migracją bazy danych do mariadb, teraz usunięty). Aby przywrócić wszystkie rzeczy do pracy, przejdź do su:
sudo su
następnie wykonaj:
/etc/init.d/mysql stop
mysqld_safe --skip-grant-tables &
mysql -uroot
Spowoduje to całkowite zatrzymanie mysql, ominięcie uwierzytelnienia użytkownika (bez hasła) i połączenie się z mysql z użytkownikiem „root”.
Teraz w konsoli mysql przejdź do administracyjnej bazy danych mysql:
use mysql;
Aby zresetować hasło roota do mojego nowego hasła (zmień je według własnego uznania), po prostu upewnij się:
update user set password=PASSWORD("mynewpassword") where User='root';
A ten zastąpi metodę uwierzytelniania, usunie żądanie unix_socket (i wszystko inne), przywracając normalną i działającą metodę hasła:
update user set plugin="mysql_native_password";
Wyjdź z konsoli mysql:
quit;
Zatrzymaj i uruchom wszystko związane z mysql:
/etc/init.d/mysql stop
kill -9 $(pgrep mysql)
/etc/init.d/mysql start
Nie zapomnij o exit
trybie su.
Teraz serwer mySQL jest uruchomiony. Możesz się zalogować za pomocą roota:
mysql -u root -p
lub cokolwiek chcesz. Używanie hasła działa.
Otóż to.