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用户了。