您的位置:首页 > 数据库 > MySQL

数据库之mac上mysql root密码忘记或权限错误的解决办法

2017-02-13 09:49 459 查看


数据库之mac上mysql root密码忘记或权限错误的解决办法

标签: 数据库rootmac忘记密码
2016-02-03 16:39 1346人阅读 评论(1) 收藏 举报


 分类:

数据库(5) 


版权声明:本文为博主原创文章,欢迎转载。

以下方法亲测有效,过程使用的工具只有mac的终端无需workbench
当我们通过终端连接MySQL数据库时候我们会看到这样的信息
ERROR 1045: Access denied for user: 'root@localhost' (Using
password: NO)
1
2
1
2
或者
ERROR 1045: Access denied for user: 'root@localhost' (Using
password: YES)
1
2
1
2
解决上面错误的方法之一就是重新设置我们的mysql的root密码。
1.在终端输入下面命令关闭正在运行的mysql,如果msyql没有运行可以跳过,需要输入mysql的密码。如果mysql密码忘记了,可以直接通过系统偏好设置里面关闭!
/usr/local/mysql/bin/mysqladmin -u root -p shutdown
1
1
系统便好设置关闭如图 



2.进入mysql的bin目录执行如下命令
$ cd /usr/local/mysql/bin
$ sudo su
1
2
1
2
之后输入管理员密码会看到
sh-3.2#
1
1
之后我们输入下面命令以安全模式运行mysql
sh-3.2#./mysqld_safe --skip-grant-tables &
1
1
运行结束我们打开mac的系统偏好设置,选择msyql,我们会发现Mysql重新运行了如图



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

输入
mysql -u -root
1
1
这时候我们不需要密码就能进入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>
1
2
3
4
5
6
7
8
9
10
11
12
1
2
3
4
5
6
7
8
9
10
11
12
注意:这里有的时候会进不来,这个时候可以尝试重启mac电脑,具体原因我也不清楚。
3.修改root密码 

首先执行下面命令为了能够修改任意的密码
mysql> FLUSH PRIVILEGES;
1
1
之后执行修改密码的SQL语句,这里的qsd19001008可以替换你自己想要修改的密码
mysql> SET PASSWORD FOR root@'localhost' = PASSWORD('qsd19001008');
1
1
如果你的子帐号可以登录msyql你也可以尝试下面的方法
mysql>UPDATE mysql.user SET Password=PASSWORD('newpwd') WHERE User='root';
1
1

mysql>USE mysql
UPDATE user SET Password = PASSWORD('newpwd')
WHERE Host = 'localhost' AND User = 'root';
1
2
3
1
2
3
又或者
mysql>USE mysql
UPDATE user SET Password = PASSWORD('newpwd')
WHERE Host = '%' AND User = 'root';
1
2
3
1
2
3
最后刷新
FLUSH PRIVILEGES;
1
1
Control+D推出mysql,然后关闭安全模式数据库,这里要输入你刚才设置数据密码就好啦
/usr/local/mysql/bin/mysqladmin -u root -p shutdown
1
1
到目前为止你就找回了你mysql的密码啦
正常启动mysql数据库,输入刚才设置的密码qsd19001008
/usr/local/mysql/share/mysql.server start
1
1
如果上面的命令不执行,同理到系统偏好里开启mysql服务器。
最后执行下面的终端命令,然后输入刚才设置的密码qsd19001008我们就可以正常进入mysql啦
$mysql -u root -p
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: