本文基于mysql8.0,5.7也可以参考
navicat 突然莫名其妙连不上mysql
查看服务,也启动不了,手动启动出现错误:
本地计算机上的MySQL服务启动后停止。某些服务在未由其他服务或程序使用时将自动停止
20230525更新!
先检查你的mysql注册表信息,是不是改了!!!
先检查你的mysql注册表信息,是不是改了!!!
先检查你的mysql注册表信息,是不是改了!!!
会省一些事
win+R 输入regedit
进入注册表地址,找到右边的imagePath
计算机\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MySQL80
我是因为安了两个版本的mysql,因为前段时间用分区助手修改程序位置,顺便移动了mysql位置,结果不能运行,恢复回原来的位置也连不上mysql
所以这里能看到安装地址和服务名字对不上
所以连不上
如果改了还是不行,才进行下面的步骤
下面是解决问题的详细步骤
第一步,备份data数据
进入MySQL的安装目录,拷贝一份data文件,里面是你的库表还有其他很多信息,比如账号密码
然后把data文件夹清空
第二步. mysqld --initialize
在bin目录下,命令行中输入 mysqld --initialize
等一会
这时候刚刚清空的data里面的东西又回来了
第三步.尝试运行net start mysql
想起来我的服务名字不叫mysql 而是mysql80
eeeeeeeee………换黑窗口试试
呃呃呃呃……哦对了
权限不够,换成管理员权限再试试
进到bin目录,
先还是运行net start MySQL80
这里会有两种情况
第一种情况
假如启动成功,就没有后面的事情了
只需要停掉服务后,先清空data,再把data副本拷进去就能用mysql了
另一种情况
管理员运行net start mysql80
还是不行,
就重新装一下mysqld
mysqld --install MySQL80 --defaults-file="E:\software\MySQL\data\my.ini"
,后面的mysql80是你的服务名(我就是一开始没加,后来还通过修改服务名麻烦了一下)
然后最好指定一下对应的MySQL版本的my.ini文件,我这里是8.0
接下来,看到 Service successfully installed.
就说明可以了
注意要先把原来的库表,也就是刚备份的的data数据拷贝回去后再启动,如果都启动了就停了net stop mysql
,再拷贝
然后连接数据库就可以了