Windows重启后本地MySQL数据库无法访问该如何解决?
Windows环境MySQL重启后无法连接解决方案
你搭建时选择legacy auth验证模式、配置为Windows服务运行,重启系统后无法连接的问题,可按以下顺序排查解决:
- 检查服务运行状态
按下Win+R组合键呼出运行窗口,输入services.msc回车打开服务管理器,找到名称为MySQL+版本号的对应服务(如MySQL80),确认服务状态为「正在运行」。如果服务未启动,右键选择「启动」,启动完成后重试连接即可。 - 排查服务启动失败原因
如果服务手动启动报错,先打开MySQL安装目录下的my.ini配置文件,确认datadir参数指向的数据库存储目录路径正确,且当前系统用户对该目录有读写权限。之后到datadir对应的目录下找到后缀为.err的错误日志,查看具体报错原因针对性处理。 - 验证端口占用情况
如果服务正常运行仍无法连接,打开CMD/Windows终端执行命令netstat -ano | findstr 3306,确认3306端口被MySQL进程占用。如果端口被其他程序占用,可以修改my.ini中的port参数为其他未被占用的端口,重启MySQL服务后,连接时同步修改端口号即可。 - 修复身份验证配置
如果提示身份验证相关报错,可通过以下步骤重置验证规则:
- 打开管理员权限的CMD窗口,执行命令停止MySQL服务:
net stop 你的MySQL服务名 - 执行命令以跳过授权表模式启动MySQL:
mysqld --console --skip-grant-tables --shared-memory - 保持当前窗口运行,新开一个管理员CMD窗口,执行
mysql -u root直接登录数据库,依次执行以下SQL命令:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你设置的数据库密码'; FLUSH PRIVILEGES;
- 关闭所有CMD窗口,回到服务管理器重启MySQL服务后重试连接即可。
内容的提问来源于stack exchange,提问作者LebryantJohnson
相关产品推荐
相关产品推荐

