一. 最近安装mysql5.7时,遇到一个问题,安装完mysql 服务时,登录不了mysql,一直提示 Access denied for user ‘root’@’localhost’ (using password: YES),在网上也各种查文章,按照他们的解决方案执行,
可能是我这个mysql是免安装版本,跟他们提供的版本解决方案不太一致,尝试了很多次都失败了。最终,在正确的提问姿势下,找到了一篇很好的文章,介绍了解决方案,下面我重新梳理了解决步骤。
二. 忘记 mysql root密码时 修改:
1. 关闭正在运行的MySQL服务。 2. 打开DOS窗口,转到mysql安装目录 3. 输入mysqld --skip-grant-tables 回车 --skip-grant-tables 的意思是启动MySQL服务的时候跳过权限表认证, 如下图:
4. 再开一个DOS窗口(因为刚才那个DOS窗口已经不能动了),转到mysql安装目录。 5. 输入mysql回车,如果成功,将出现MySQL提示符 >。 6. 连接权限数据库: use mysql; (别忘了最后加分号) 。 7. 改密码:mysql>update mysql.user set
password
=password( '123' ) where user='root'
; (这里有两个细节,设置密码时:password单引号前后需要有个空格,还有最后别忘了最后加分号)。
8.最后 :flush privileges;
如下图:
三. 知道root密码,修改
1.用SET PASSWORD命令
首先登录MySQL。
例子:mysql> set password for root@localhost = password('123');
或者 直接使用 set password=password('root');如下图。
参照文章:http://blog.csdn.net/xinliuqianxue/article/details/52156568