Di Ubuntu 15.10, pada suatu titik (mungkin setelah menginstal & menghapus mariadb) mysql tidak dapat beroperasi. Tugas naik, tetapi server sedang down.
Atas perintah:
mysql -u root -p
sistem membalas dengan seperti:
mysql "ERROR 1524 (HY000): Plugin 'unix_socket' is not loaded"
Tidak ada cara untuk masuk, tidak ada plugin yang ditemukan, tidak ada kesalahan dalam file konfigurasi (semua ke default).
Bagaimana cara mendapatkan kembali kendali, dan membuat server mysql berjalan?
Jawaban:
"Unix_socket" telah dipanggil oleh proses otentikasi mysql (mungkin terkait dengan migrasi sebagian database ke mariadb, sekarang dihapus). Untuk mengembalikan semuanya, lanjutkan su:
kemudian ikuti:
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:
Untuk mengatur ulang kata sandi root ke kata sandi baru (ubah sesuka Anda), hanya untuk memastikannya:
Dan yang ini akan menimpa metode otentikasi, menghapus permintaan unix_socket (dan yang lainnya), memulihkan metode kata sandi yang normal dan berfungsi:
Keluar dari konsol mysql:
Hentikan dan mulai semua yang terkait dengan mysql:
Jangan lupa ke
exit
mode su.Sekarang server mySQL aktif dan berjalan. Anda bisa login dengan root:
atau apapun yang kamu inginkan. Penggunaan kata sandi berfungsi.
Itu dia.
sumber
mysqld_safe
tidak punya pilihan seperti--skip-grant-tables
..apa yang memberi?mysqld --verbose --help
mysqld_safe
yang mengeluh argumen --skip-grant-tables tidak ada yang saya gunakanmysqld
. Namun itu terus mengeluh itu tidak bisa membuat file socket/var/run/mysqld/
. Saya memeriksa konfigurasi apparmor dan memiliki izin yang tepat. Untuk memperbaiki ini saya harusmkdir /var/run/mysqld/
dan kemudian memberikan izin benar-benar terbuka:chmod -R 777 /var/run/mysqld/
. Lalu akhirnya saya bisa memulai daemon dan mengubah plugin menjadi 'mysql_native_password'.Inilah langkah-langkah saya melakukan ini:
sumber