W przypadku, gdy nieumyślnie ustawiłeś i zapomniałeś hasła roota, i nie chcesz wyczyścić wszystkich baz danych i zacząć od nowa, ponieważ jesteś leniwy i zapomniałeś mieć rozwiązanie do tworzenia kopii zapasowych na miejscu, a używasz dość niedawnej instalacji Homebrew (Zima 2013), oto kroki, aby zresetować hasło do MySQL.
Zatrzymaj aktualnie działającą instancję MySQL
launchctl unload -w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
Teraz uruchom mysql ręcznie, pomijając tabele grantów i sieci
$(brew --prefix mysql)/bin/mysqld_safe --skip-grant-tables --skip-networking
Zauważ, że jeśli uruchomisz echo $ (brew --prefix mysql) i nie odpowiada ono jako „/ usr / local / opt / mysql” w bash, będziesz musiał odpowiednio dostosować ścieżkę.
Gdy to zrobisz, powinieneś mieć uruchomioną, niezabezpieczoną instancję MySQL.
Zaloguj się i ustaw hasło
mysql -u root
Po wyświetleniu monitu wprowadź następujące polecenie MySQL, aby ustawić nowe hasło dla użytkownika, którego dotyczy zmiana.
mysql> update mysql.user set password=PASSWORD('new_password_here') WHERE user='root';
Gdyby wszystko poszło zgodnie z planem, powinno powiedzieć:
Query OK, 1 row affected (0.02 sec)
Rows matched: 4 Changed: 1 Warnings: 0
Wyjdź z zachęty MySQL.
mysql> exit
Bye
Zatrzymaj serwer:
mysqladmin -u root shutdown
Teraz odłóżmy demona uruchamiania, abyśmy mieli ponownie gotowy MySQL:
launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
Gratulacje. Właśnie zresetowałeś swoje hasło root mysql. Nalej sobie kawę i przygotuj rozwiązanie zapasowe!