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';