mysql服务无法启动 mysql无法启动无报错

说白了,MySQL服务没有错误就无法启动,主要是配置或者系统冲突的问题。

首先,配置文件 my.ini/my.cnf 必须位于正确的位置。
例如,在Windows下,重命名my.default.ini并将其放入MySQL安装目录的bin中。
去年我们做那个项目的时候,3 3 06 端口被另一个数据库占用了,所以我把它改成了3 3 08 ,然后立即启动。
另一件事是Windows缓存确实是一个bug。
在cmd中删除%temp%可以清理很多残留,但不要盲目删除系统文件。
一开始我以为可以删除临时文件,后来发现系统进程依赖缓存消失了,整个系统都关闭了。
还有一个更重要的细节。
如果没有安装该服务,肯定无法启动。
要安装它,请使用 mysqld --install 命令;但一定要在安装前使用net stop mysql停止剩余的服务。
去年我们又开始了,很长一段时间没有关注。

等等,还有一个。
日志文件 error.log 可能隐藏了一些可疑的内容。
即使你说你没有报告错误。
在 Linux 上运行 tail -f /var/log/mysql/error.log您可以实时查看日志。
对于 Windows,这是 C:\ProgramData\MySQL\MySQL Server X.Y\logs\error.log。

建议首先检查配置文件和端口冲突。
如果确实怀疑系统兼容性,请考虑重新安装,但在重新安装之前请备份数据。
不要认为版本会兼容并像以前一样。
但是,当配置被删除时。
数据目录已被删除。
太可怕了。

mysql 服务启动报没有服务在用自动停止

不幸的是,我在MySQL开始报错的时候也遇到了这个坑。
让我告诉你我是怎么做到的。

当时,我正在帮助朋友调试服务器。
那个人在杭州的一个计算机实验室里,服务器被卡住了。
当我检查日志时,我看到消息“当其他服务或程序不使用某些服务时,它们会自动停止”。
好吧,让我们快速检查一下。

第一步是查看数据目录。
这是最常见的。
想想看,MySQL 在启动时就依赖数据目录来存储所有内容。
我直接去C:\Program Files\MySQL\MySQL Server 5 .7 \bin看了一下。
天哪,data文件夹里有一堆乱码文件。
我让朋友先备份重要数据,然后删除data文件夹再新建一个空文件夹。
然后我打开命令行并以管理员身份运行 mysqld --initialize 。
等待大约二十秒后,它会自动生成一个临时密码。
我的朋友很快就把它写下来了,因为我告诉他在hostingname.err 文件中查找它。
完成的!重启MySQL服务就可以了!最重要的是,您必须在操作之前进行备份。
别忘了我看到有人忙着初始化却全部数据都丢失了,我满头大汗。

第二个秘诀是删除服务并重新安装。
如果第一个技巧不起作用,则可能是服务配置有问题。
我让朋友在bin文件夹下运行mysqld --remove-mysql,将mysql替换成他版本的服务名,比如mysql8 0。
然后删除数据目录并使用 mysqld --initialize 对其进行初始化。
初始化后,运行 mysqld --install 或直接进入服务管理器创建新服务。
我当时也用过这个技巧。
有一位客户的服务器被卡住了。
我删除了该服务并重新安装了它。
嘿,没关系。
最重要的是你需要管理员权限才能删除该服务,否则会提示“访问被拒绝”。
我知道这一点。
由于权限不足,我差点被卡了好久。

第三个秘密是更改配置文件路径。
这个技巧相当复杂。
从前,北京有一个旧制度。
MySQL的安装方式比较隐蔽,配置文件路径都被混淆了。
我让他先打开我的my.ini文件,检查一下编码是ANSI而不是ANSI,比如UTF-8 ,然后再改回来。
然后我让他打开注册表编辑器(regedit),导航到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MySQL,更改ImagePath的值并要求他写出正确的路径,如“d:\db\software\mysql\mysql8 \bin\mysqld.exe” --defaults-file="d:\db\software\mysql\mysql8 \my.ini",注意引号和空格。
更改这些后,结束所有 mysqld.exe 进程,然后重新启动服务。
这个技巧考验你的耐心。
我的朋友已经为此努力了很长时间,但终于来了成功。
最重要的是在更改注册表时要小心。
一步一步就会让你错了。
那时,我看到有人改变了错误的方式。
结果无法进入系统,只能重装系统。

第四步是检查是否有冲突的服务。
最简单、最原始,但也是最有效的。
当我在上海的一家公司工作时,我发现他们的服务器上安装了两个MySQL,并且都是自动启动的。
我直接打开services.msc,找到备份的MySQL服务,右键停止它,然后尝试启动主服务的MySQL。
同时,我还打开任务管理器并杀死所有mysqld.exe进程。
嘿,成功了!端口冲突是最烦人的事情。
关键是不要在服务器上安装太多相同的服务。
一个就够了,多了只会造成混乱。

最后,请注意。
我告诉你,所有这些操作都应该以管理员身份运行,否则你将没有足够的权限,你所做的一切都是徒劳的。
如果始终无法正常工作,请考虑卸载并重新安装。
卸载时注意路径中不要包含中文或特殊字符,安装时尽量简单。
当时看到有人安装在“我的电脑”旁边,结果报错很多,花了很长时间。

无论如何,不​​要为此惊慌,只要一步一步地做,通常就可以完成。
希望我所经历的这些陷阱能够对你有所帮助。

本地mysql服务无法启动怎么办