Mac下忘记Mysql root密码重置

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mac下忘记Mysql root密码重置相关的知识,希望对你有一定的参考价值。

很久之前安装的mysql 在 mac本机,突然要用的时候,发现怎么也连接不上,网上找了很多的教程尝试都不成功,最后找到一篇尝试成功。感谢原博主的分享转载在下面进行记录,出处: http://blog.csdn.net/u014410695/article/details/50630233

 

 

以下方法亲测有效,过程使用的工具只有mac的终端无需workbench

当我们通过终端连接MySQL数据库时候我们会看到这样的信息

ERROR 1045: Access denied for user: [email protected]‘ (Using 
password: NO)

或者

ERROR 1045: Access denied for user: [email protected]‘ (Using 
password: YES)

 

解决上面错误的方法之一就是重新设置我们的mysql的root密码。

1.在终端输入下面命令关闭正在运行的mysql,如果msyql没有运行可以跳过,需要输入mysql的密码。如果mysql密码忘记了,可以直接通过系统偏好设置里面关闭!

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

系统便好设置关闭如图 

技术分享

2.进入mysql的bin目录执行如下命令

$ cd /usr/local/mysql/bin
$ sudo su  

 

之后输入管理员密码会看到

sh-3.2# 

之后我们输入下面命令以安全模式运行mysql

sh-3.2#./mysqld_safe --skip-grant-tables &

 

运行结束我们打开mac的系统偏好设置,选择msyql,我们会发现Mysql重新运行了如图

技术分享

回到终端点击Command + N 重新打开一个终端 
输入

mysql -u -root

 

这时候我们不需要密码就能进入mysql

Your MySQL connection id is 57
Server version: 5.7.10 MySQL Community Server (GPL)

Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type ‘help;‘ or ‘\h‘ for help. Type ‘\c‘ to clear the current input statement.

mysql>

 

注意:这里有的时候会进不来,这个时候可以尝试重启mac电脑,具体原因我也不清楚。

3.修改root密码 
首先执行下面命令为了能够修改任意的密码

mysql> FLUSH PRIVILEGES;

 

之后执行修改密码的SQL语句,这里的qsd19001008可以替换你自己想要修改的密码

mysql> SET PASSWORD FOR [email protected]‘localhost‘ = PASSWORD(‘qsd19001008‘);

 

如果你的子帐号可以登录msyql你也可以尝试下面的方法

mysql>UPDATE mysql.user SET Password=PASSWORD(‘newpwd‘) WHERE User=‘root‘;

 

mysql>USE mysql
   UPDATE user SET Password = PASSWORD(‘newpwd‘)
   WHERE Host = ‘localhost‘ AND User = ‘root‘;

又或者
mysql>USE mysql
   UPDATE user SET Password = PASSWORD(‘newpwd‘)
   WHERE Host = ‘%‘ AND User = ‘root‘;

 

 

最后刷新

FLUSH PRIVILEGES;

 

Control+D推出mysql,然后关闭安全模式数据库,这里要输入你刚才设置数据密码就好啦

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

 

到目前为止你就找回了你mysql的密码啦

正常启动mysql数据库,输入刚才设置的密码qsd19001008

/usr/local/mysql/share/mysql.server start

 

如果上面的命令不执行,同理到系统偏好里开启mysql服务器。

最后执行下面的终端命令,然后输入刚才设置的密码qsd19001008我们就可以正常进入mysql啦

$mysql -u root -p




以上是关于Mac下忘记Mysql root密码重置的主要内容,如果未能解决你的问题,请参考以下文章

Mac MySQL重置Root密码

Mac MySQL重置Root密码

Mac MySQL重置Root密码

linux下mysql-5.6忘记root密码,重置root密码详细过程

Mac下MySQL密码忘记后重置密码

mac 重新开机后,mysql的root密码总是会被重置。 请问是啥原因,有啥解决方法吗?