在服务中启动数据库时,发生如上错误。借鉴网友的经验。
!!数据会全部消失,操作之前一定保存好数据😭
1.将data文件夹内的内容全部删除,在bin文件夹下打开命令行,输入mysqld --initialize。
2.等待一段时间后输入net start mysql重新启动该服务
但发生如下错误。无法重新启动该服务。并且在执行命令之后data文件夹内的数据恢复。所以并未进行接下来的尝试。
找到MySQL文件夹下的data文件夹,打开.err文件,发现3306端口被占用,因此要关闭占用端口号的程序
想要找到端口号3306被哪个程序占用,则在命令行输入netstat -ano(是否以管理员身份打开不影响),然后就可以看到3306对应的PID值(每个人都不一样)我这里是5184
在任务管理器中的详细信息可以找到PID对应的程序,关闭即可
由于我在解决过程中问题莫名其妙的消失了,所以我这儿3306端口对应的程序就是mysql
至此,问题解决。
如果再次出现此错误,优先查看端口号是否被占用,不建议直接重置。
在MySQL服务正常启动后,尝试打开Navicat,但发现无法连接数据库,显示错误为:
意思为无权限使用root账号本地登录MySQL,就是密码校验未通过(使用密码:是/不是)
显然,我这里是输入了密码,但校验不通过,很可能是密码错误,因此打开.err文件,复制初始密码,输入后发现可以成功连接。所以问题确实为密码错误。