sql >> Database teknologi >  >> RDS >> Mysql

Hvordan kan jeg nulstille standard 'root' brugeradfærd på MySQL 5.7

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




  1. MySQL-syntaksfejl ved udførelse af SQL-forespørgsel

  2. Flet/kombiner flere PDF-filer til én PDF i Oracle ved hjælp af PLPDF_TOOLKIT PL/SQL-pakke

  3. MySQL Hosting på Azure, Fuldt administreret Cloud Database Service lanceres på ScaleGrid

  4. SQLite grænse