出现这种原因,是因为root的密码错误,或者没有设置密码。
需要进入mysql的my.ini文件中进行修改,但是在win10系统中,my.ini不再放在MYSQL安装目录的根目录中了,需要到一类应用缓存目录中寻找MYSQL的详细配置文件,my.ini也正在其中,早期的win10是需要找一个叫做%ProgramData%的文件夹(提醒:%%包裹代表这个目录是隐藏目录,你也可以打开隐藏目录视图来查看此文件夹),较新的win10叫做%ProgramData%,在此目录下寻找MYSQL的文件夹打开其文件夹,在根目录就存在着my.ini文件。
这里推荐一个软件everthing来查找my.ini文件
在此配置文件的最后一行加上:
skip-grant-tables
use mysql
update user set password = password('新密码') where user = 'root';
之后restart;即可。
现在的我的MYSQL5.7版本,通过上面的方式不行了。
首先以管理员打开cmd,然后net stop mysql,关闭MYSQL。
再cmd进入到mysql的bin目录中,然后通过mysqld --skip-grant-tables跳过密码启动。
再打开一个cmd新窗口 mysql -u root -p 回车即可登录。
然后通过:
use mysql;
update user set authentication_string=password('新密码') where user='root' and Host='localhost';
flush privileges;