1. 通過DMG方式,安裝完MySQL后,在shell命令行中嘗試使用mysql -u root連接MySQL,出現下面提示。
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
由于根據本地環境及軟件版本,沒有統一的解決方案,下面我將說明我的軟件環境。
軟件說明:
Mac OS - 10.10.2 (OS X Yosemite)
MySQL - Ver 14.14 Distrib 5.7.7-rc, for osx10.8 (x86_64)
解決方案(暫時沒有找到理想方案,所以嘗試重置root密碼:
1. 停止MySQL,使用跳過權限控制方案啟動
1.1 使用Preference Pane關閉MySQL
雙擊MySQL,可能會要求你輸入密碼,輸入密碼后,將會打開如下窗口。

點擊“Stop MySQL Server”,輸入密碼后,綠色的“running”將會變成紅色的“stopped” ,說明MySQL被正常關閉。
1.2通過跳過權限控制啟動
shell命令行輸入以下命令回車
sudo mysqld_safe --skip-grant-tables
輸入管理員密碼后,顯示如下提示,說明啟動成功
150426 13:32:39 mysqld_safe Logging to '/usr/local/mysql/data/xxxMacBook-Pro.local.err'.
150426 13:32:39 mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/data
2. 如果以上全部成功,現在可以開始重置root密碼了
開啟新的shell窗口,輸入mysql -u root,現在可以進入mysql了。
今次執行以下命令。
mysql> FLUSH PRIVILEGES;
根據版本不同,請執行不同的命令:
MySQL 5.7.6 and later:
mysql> ALTER USER ‘root’@‘localhost’ IDENTITIED BY ‘123456’;
MySQL 5.7.5 and earlier:
mysql> SET PASSWORD FOR ‘root’@‘localhost’ = PASSWORD(‘123456’);
3. 停止MySQL服務器,正常重啟。現在你可以使用新的密碼登錄root用戶了。