Problema:
El auth_socket el módulo debe instalarse y habilitarse manualmente en la root usuario si escribe sobre los cambios de 5.7 importando su anterior MySQL 5.5 base de datos y tabla de usuarios.
Para los usuarios, queremos seguir usando mysql_native_password , el valor por defecto. Para root , queremos usar 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;
Si lo hace en el orden incorrecto (agregue root auth_socket columna antes de instalar el complemento), entonces no podrá cargar mysql ya que el complemento no realizará la autenticación. Para iniciar y ejecutar mysql en modo seguro, use esto:
sudo service mysql stop
sudo mysqld_safe --skip-grant-table &
sudo mysql -u root -p -h localhost
Estas correcciones se realizaron al importar una base de datos completa y una tabla de usuario desde MySQL 5.5 a MySQL 5.7 , migrando desde Ubuntu 14.04 a Ubuntu 16.04 .
Herramientas:
Ver Complementos:show plugins \g
Mostrar auth_socket en el usuario root:select auth_socket from mysql.user where user='root';