"Unix_socket" telah dipanggil oleh proses otentikasi mysql (mungkin terkait dengan migrasi sebagian database ke mariadb, sekarang dihapus). Untuk mengembalikan semuanya, lanjutkan su:
sudo su
kemudian ikuti:
/etc/init.d/mysql stop
mysqld_safe --skip-grant-tables &
mysql -uroot
Ini sepenuhnya akan menghentikan mysql, memotong otentikasi pengguna (tidak perlu kata sandi) dan terhubung ke mysql dengan "root" pengguna.
Sekarang, di konsol mysql, gunakan db administrasi mysql:
use mysql;
Untuk mengatur ulang kata sandi root ke kata sandi baru (ubah sesuka Anda), hanya untuk memastikannya:
update user set password=PASSWORD("mynewpassword") where User='root';
Dan yang ini akan menimpa metode otentikasi, menghapus permintaan unix_socket (dan yang lainnya), memulihkan metode kata sandi yang normal dan berfungsi:
update user set plugin="mysql_native_password";
Keluar dari konsol mysql:
quit;
Hentikan dan mulai semua yang terkait dengan mysql:
/etc/init.d/mysql stop
kill -9 $(pgrep mysql)
/etc/init.d/mysql start
Jangan lupa ke exit
mode su.
Sekarang server mySQL aktif dan berjalan. Anda bisa login dengan root:
mysql -u root -p
atau apapun yang kamu inginkan. Penggunaan kata sandi berfungsi.
Itu dia.