用自动安装脚本最后报 mysqladmin: connect to server at 'localhost' failed error: 'Access denied for user 'root'@'localhost' (using password: NO)'

ttf-wqy-microhei 已经是最新的版本。
ttf-wqy-zenhei 已经是最新的版本。
libreoffice 已经是最新的版本。
libreoffice-script-provider-python 已经是最新的版本。
poppler-utils 已经是最新的版本。
pwgen 已经是最新的版本。
python-ldap 已经是最新的版本。
python-memcache 已经是最新的版本。
python-mysqldb 已经是最新的版本。
python-pip 已经是最新的版本。
python-setuptools 已经是最新的版本。
python-urllib3 已经是最新的版本。
libpython2.7 已经是最新的版本。
python2.7 已经是最新的版本。
python-requests 已经是最新的版本。
sudo 已经是最新的版本。
xfonts-wqy 已经是最新的版本。
curl 已经是最新的版本。
memcached 已经是最新的版本。
nginx 已经是最新的版本。
openssl 已经是最新的版本。
python-imaging 已经是最新的版本。
升级了 0 个软件包,新安装了 0 个软件包,要卸载 0 个软件包,有 49 个软件包未被升级。
正在读取软件包列表… 完成
正在分析软件包的依赖关系树
正在读取状态信息… 完成
mariadb-server 已经是最新的版本。
升级了 0 个软件包,新安装了 0 个软件包,要卸载 0 个软件包,有 49 个软件包未被升级。
mysqladmin: connect to server at ‘localhost’ failed
error: 'Access denied for user ‘root’@‘localhost’ (using password: NO)

请问是何情况??

I was getting the same error on OS X El captain. Mysql version 5.7 . I was able to connect to mysql with root after executing these steps.

Stop the mysql server

sudo mysql.server stop
Start mysql in safe mode

sudo mysqld_safe --skip-grant-tables
Using mysqld, Change the database to mysql and update the details for user ‘root’.

show databases;
use mysql;
UPDATE mysql.user
SET authentication_string = PASSWORD(‘MyNewPass’), password_expired = ‘N’
WHERE User = ‘root’ AND Host = ‘localhost’;
exit;
After that kill the ‘mysqld_safe’ process and start mysql normally. You should be able to login to mysql using root and new password.