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 Preference Pane: Location
雙擊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用戶了。