解决Mac下MySQL登录问题

由于要做一个测试,需要用到本地mysql,打开phpMyAdmin,输入用户密码后显示

Cannot log in to the MySQL server

怀疑是自己忘记了密码,于是到终端通过以下命令重设root密码

/usr/local/mysql/bin/mysqladmin -u root -p password

但是显示一下错误信息

/usr/local/mysql/bin/mysqladmin:connecttoserver at'localhost'failed

error:'Access denied for user 'root'@'localhost' (using password: NO)'

通过Google,找到一种解决方法

sudo /usr/local/mysql/support-files/mysql.server stop

sudo mysqld_safe --skip-grant-tables

mysql-u root

mysql>UPDATEmysql.userSETauthentication_string=PASSWORD('password')WHEREUser='root';

mysql > FLUSH PRIVILEGES;

然后敲入mysql -uroot -p,输入新设的密码后顺利进入mysql命令模式。重新回到phpMyAdmin,输入用户密码后顺利进入。本以为问题就这样解决了,但点击数据库按钮后自动退到登录界面,输入相同的用户密码后显示

Cannot log in to the MySQL server

终端下敲入mysql -uroot -p,输入密码后显示

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

彻底懵逼了。几乎翻遍了所有的技术论坛,所有的解决方案都是到此为止,没有人遇到过我这样的情况。

从头分析一下整个过程,在单纯的命令模式下无论怎么折腾都没有问题,但通过phpMyAdmin登录一次后就发生了异常。问题很可能是出现在phpMyAdmin,而不是MySQL本身。为了验证这一想法,删除了phpMyAdmin 整个目录,重新下载了一个全新的版本,安装并重建本地数据库,问题果然解决了。这个问题本来可以更早一些解决,但由于习惯了从网络直接获取答案,在搜索引擎及技术论坛上花了太多时间,反而不愿从问题本身去进行分析。

你可能感兴趣的:(解决Mac下MySQL登录问题)