1.首先打开MySQL的安装目录我这里是(F:\MySQL Server 5.5),根据个人的安装路径;

2.在根目录下找到my.ini 在[mysql]下加上skip-grant-tables 这样可以跳过中间密码验证。(即将图片中绿色字体第一行中的#号键和中文字体删掉);之后重启mysql。

3.如果有navicat可以是用navicat来修改密码。(因为我习惯了用navicat)

在执行update语句之后在执行一下下面红色加粗语句。

flush privileges;

 

#最新版MySQL请采用如下SQL:
mysql> UPDATE user SET authentication_string=PASSWORD( 'newpassword' ) where USER= 'root'
 

备注:如果语法有错请在第二张图片中1 、2之间加上 use mysql;

 4.最后将第一步中的skip-grant-tables注释掉或者删除 然后重启mysql ok!

 5.在centos7 安装了mysql8.0,默认密码正确,却无法登录,使用此方法更改密码。执行

mysql> UPDATE user SET authentication_string=PASSWORD('newpassword') where USER='root'; 竟然出现 near "('newpassword')" 又无法错误,可能是MySQL版本改变了策略,一旦使用PASSWORD()处理密码字符串就出错。至今我还没找到解决办法。没时间找错,只能彻底删除Mysql,然后重装。

第一次写,有错请指教啦!小白一枚,大佬留情!

Logo

更多推荐