Masalah:
auth_socket modul perlu diinstal dan diaktifkan secara manual di root pengguna jika Anda menulis lebih dari 5.7 perubahan dengan mengimpor MySQL 5.5 lama Anda database dan tabel pengguna.
Solusi:
Untuk pengguna kami ingin tetap menggunakan mysql_native_password , defaultnya. Untuk root , kami ingin menggunakan auth_socket .
install plugin auth_socket soname 'auth_socket.so';
use mysql; update user set plugin='mysql_native_password';
update mysql.user set plugin = 'auth_socket' where User='root';
flush privileges;
Jika Anda melakukannya dengan urutan yang salah (tambahkan root auth_socket kolom sebelum menginstal plugin), maka Anda tidak akan dapat memuat mysql karena plugin tidak akan melakukan otentikasi. Untuk memulai dan menjalankan mysql dalam mode aman gunakan ini:
sudo service mysql stop
sudo mysqld_safe --skip-grant-table &
sudo mysql -u root -p -h localhost
Perbaikan ini dilakukan saat mengimpor database lengkap dan tabel pengguna dari MySQL 5.5 ke MySQL 5.7 , bermigrasi dari Ubuntu 14.04 ke Ubuntu 16.04 .
Alat:
Lihat Plugin:show plugins \g
Tampilkan auth_socket pada pengguna root:select auth_socket from mysql.user where user='root';