sql >> Databasteknik >  >> RDS >> Mysql

MySQL:kan inte komma åt root-kontot

Du kan använda init-filerna. Se den officiella MySQL-dokumentationen om Hur man återställer rotlösenordet (inklusive kommentarer för alternativa lösningar).

Så i princip med init-filer kan du lägga till alla SQL-frågor som du behöver för att fixa din åtkomst (som GRAND , CREATE , FLUSH PRIVILEGES , etc.) till init-fil (vilken fil som helst).

Här är mitt exempel på att återställa root-kontot:

echo "CREATE USER 'root'@'localhost' IDENTIFIED BY 'root';" > your_init_file.sql
echo "GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION;" >> your_init_file.sql 
echo "FLUSH PRIVILEGES;" >> your_init_file.sql

och efter att du har skapat din fil kan du köra:

killall mysqld
mysqld_safe --init-file=$PWD/your_init_file.sql

för att kontrollera om detta fungerade, tryck på Ctrl+Z och skriv:bg för att köra processen från förgrunden till bakgrunden, verifiera sedan din åtkomst genom att:

mysql -u root -proot
mysql> show grants;
+-------------------------------------------------------------------------------------------------------------+
| Grants for [email protected]                                                                                   |
+-------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'root'@'localhost' IDENTIFIED BY PASSWORD '*81F5E21E35407D884A6CD4A731AEBFB6AF209E1B' |

Se även:



  1. Långsam prestanda för SqlDataReader

  2. Behöver integrera IDX MLS till en webbplats

  3. mysql datatype för att endast lagra månad och år

  4. Använder WHERE-satsen för att hitta POI inom ett avstånd från Longitud och Latitude