Можете да използвате init файловете. Проверете официалната документация на MySQL за Как да нулирате Root паролата (включително коментари за алтернативни решения).
Така че основно използвайки init файлове, можете да добавите всякакви SQL заявки, които са ви необходими за коригиране на вашия достъп (като GRAND
, CREATE
, FLUSH PRIVILEGES
, и т.н.) в init файл (всеки файл).
Ето моя пример за възстановяване на root акаунт:
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
и след като създадете своя файл, можете да стартирате:
killall mysqld
mysqld_safe --init-file=$PWD/your_init_file.sql
след това, за да проверите дали това работи, натиснете Ctrl+Z и напишете:bg
за да стартирате процеса от преден план на заден план, след което потвърдете достъпа си чрез:
mysql -u root -proot
mysql> show grants;
+-------------------------------------------------------------------------------------------------------------+
| Grants for [email protected] |
+-------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'root'@'localhost' IDENTIFIED BY PASSWORD '*81F5E21E35407D884A6CD4A731AEBFB6AF209E1B' |
Вижте също:
- Без парола – няма проблем във Everything MySQL
- Бъг #28331:Неясно съобщение за грешка, когато CREATE USER не успее поради дублиран ключ