Problem:
auth_socket
modul skal installeres og aktiveres manuelt på root
bruger, hvis du skriver over 5.7-ændringerne ved at importere din gamle MySQL 5.5
database og brugertabel.
Løsning:
For brugere ønsker vi stadig at bruge mysql_native_password
, standarden. Til root
, vi ønsker at bruge 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;
Hvis du gør det i den forkerte rækkefølge (tilføj root
's auth_socket
kolonne, før du installerer pluginnet), så vil du ikke være i stand til at indlæse mysql, da pluginnet ikke udfører godkendelse. For at starte og køre mysql i fejlsikret tilstand, brug denne:
sudo service mysql stop
sudo mysqld_safe --skip-grant-table &
sudo mysql -u root -p -h localhost
Disse rettelser blev udført ved import af en komplet database og brugertabel fra MySQL 5.5
til MySQL 5.7
, migrerer fra Ubuntu 14.04
til Ubuntu 16.04
.
Værktøjer:
Se plugins:show plugins \g
Vis auth_socket på root-bruger:select auth_socket from mysql.user where user='root';