事情是这样的,我昨天配置完MySQL和PHP环境后,又配置了phpAdmin。
这本来是件好事,结果我看到phpAdmin提醒我说我的MySQL的Root帐号密码是空密码,于是我修改了下密码。
由于phpAdmin设置的密码是根据我输入的密码生成的,而我又没有记住那串生成的密码,然后我就进不了MySQL了囧。
然后经过了一系列蛋疼的网上资料查阅后,终于找到了解决方法!接下来切入正题!
1.终止MySQL服务
进入系统偏好设置>MySQL>Stop MySql Server
2.以安全模式启动MySQL并跳过账户验证
终端中依次输入:
“cd /usr/local/mysql/bin/”回车
“sudo su”回车后输入Mac密码
“./mysqld_safe --skip-grant-tables &”回车
之后MySQL会自动重启,接下去可以通过MySQL workbench来直接修改密码
3.修改密码
进入workbench后双击进入root账户,如下图
选择左侧列里的“Users and Privileges”,然后在右边选择“root用户”,如下图
直接在修改并Confirm密码,然后Apply
重点来了!可能会弹出提示(至少我有这个问题):
“The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement”
解决方法是:在终端中输入:
“mysql> set global read_only=0;”关掉新主库的只读属性
“flush privileges;”
“set global read_only=1;”(读写属相)
“flush privileges;”
这里我参考的是这篇博文:http://www.cnblogs.com/xionghui/archive/2013/03/01/2939342.html
然后重新在workbench里设置密码就可以Apply了!
若是刚刚安装好mysql无法登录,可以参照这篇文章:http://jingyan.baidu.com/article/915fc4149d529b51394b20cc.html