U kunt de init-bestanden gebruiken. Raadpleeg de officiële MySQL-documentatie op Het root-wachtwoord opnieuw instellen (inclusief opmerkingen voor alternatieve oplossingen).
Dus eigenlijk met behulp van init-bestanden, kunt u alle SQL-query's toevoegen die u nodig hebt om uw toegang te herstellen (zoals GRAND
, CREATE
, FLUSH PRIVILEGES
, etc.) naar init-bestand (elk bestand).
Hier is mijn voorbeeld van het herstellen van een root-account:
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
en nadat u uw bestand heeft gemaakt, kunt u het volgende uitvoeren:
killall mysqld
mysqld_safe --init-file=$PWD/your_init_file.sql
om te controleren of dit werkte, drukt u op Ctrl+Z en typ:bg
om het proces van de voorgrond naar de achtergrond te laten lopen, verifieer vervolgens uw toegang door:
mysql -u root -proot
mysql> show grants;
+-------------------------------------------------------------------------------------------------------------+
| Grants for [email protected] |
+-------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'root'@'localhost' IDENTIFIED BY PASSWORD '*81F5E21E35407D884A6CD4A731AEBFB6AF209E1B' |
Zie ook:
- Geen wachtwoord – geen probleem bij Everything MySQL
- Bug #28331:onduidelijke foutmelding wanneer CREATE USER mislukt vanwege dubbele sleutel