1.当我们在使用mysql数据库时,如果忘记密码会显示下图情况
ERROR 1045 (28000): Access denied for user ‘root’@‘localhost’ (using password: YES)
2.解决方案
一般来说我们有两种解决方法,一是卸载后重新安装(不怎么推荐),二是跳过密码验证后修改密码,显然这是一种更便捷的选择.该方法步骤如下:
2.1关闭mysql服务器
关闭命令: net stop mysql
如果出现错误提示,选择管理员权限进入cmd命令行
2.2查找mysql安装路径中bin目录路径
在计算机“服务”中找到mysql,双击找到对应路径
2.3以管理员权限打开命令行,跳转到安装路径下bin目录路径处
建议直接到目录复制路径
2.4在命令行中输入命令跳过mysql的密码验证
mysqld --console --skip-grant-tables --shared-memory
2.5 用管理员权限再打开一个dos命令窗口,输入登陆指令
mysql -u root -p
在指令输入处直接点击回车
2.6 使用sql命令跳转到mysql表中,并更改密码
跳转命令: use mysql
更改密码命令: update user set password=password(‘此处输入你要设置的密码’) where user=‘root’
这一步修改密码时报错
ERROR 1054 (42S22): Unknown column ‘password’ in 'field list’
因为mysql-5.7及以上版本已没有password字段,已将password字段修改为authentication_string字段
解决方法:
将password修改为authentication_string
update user set authentication_string=password(‘这里填你要设置的新密码’) where user=‘root’;
2.7 输入flush privileges指令并退出
此处记得加";"
mysql执行以;结尾
2.8 关闭所有命令行窗口,并重新用管理员身份开一个dos窗口
2.9 重启mysql服务器,可以用设置好的密码访问mysql服务器
登录命令: mysql -u root -p
之后输入密码