问题截图
问题描述
在Navicat无法创建连接(重置密码也可以用这种方法)
问题原因
mysql密码错误
解决办法
1.以管理员身份登陆cmd,停止MySQL服务
(1)先查看自己的数据库的服务名(开关服务器都需要这个服务名)
C:\Windows\system32>net start
(2)停止MySQL服务
C:\Windows\system32>net stop MySQL80
2.设置跳过MySQL的密码验证
(1)进入到mysql安装目录下的bin路径,在mysql/bin/目录下输入命令:mysqld --shared-memory --skip-grant-tables
C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld-nt --skip-grant-tables
注意:输完这条命令,该命令行窗口应该卡住不动。
3.设置无密码登陆
(1)新开一个CMD窗口,进入到mysql安装目录下的bin路径(无需重复启动mysql服务),在bin目录下输入:mysql
注意:此时可以连接成功
(2)重置root密码为空(注意:这里需先置为空密码,否则无法登陆)
在上一个名的窗口输入命令:update mysql.user set authentication_string=’’ where User = ‘root’;
(注意分号)
mysql> update mysql.user set authentication_string='' where User = 'root';
4. 设置新密码
(1)退出所有的命令行(关闭所有的cmd窗口,重新打开一个),启动数据库
C:\Windows\system32>net start MySQL80
(2)进入到MySQL下的bin目录下,重新登陆数据库(直接Enter就可以进入了)
C:\Program Files\MySQL\MySQL Server 8.0\bin>mysql -u root -p
(3)修改新的密码
alter user 'root'@'localhost' identified by 'xxxx';
注意:xxx为自己设置的密码
错误提示
如果出现下面的截图错误
说明你的data目录不和bin在一个路径下,需要找到data目录,然后复制到和bin一个目录下就可以了