【MySQL80服务无法启动】本地计算机上的MySQL80服务启动后停止。某些服务在未由其他服务或程序使用时将自动停止。

又是MySQL的问题,之前已经遇见过一次本地MySQL服务无法启动的情况,现在又出现了,好家伙!

之前的文章


还是老问题,还是老图片:
【MySQL80服务无法启动】本地计算机上的MySQL80服务启动后停止。某些服务在未由其他服务或程序使用时将自动停止。_第1张图片
这一次我真的是想骂人,唉。


配置

MySQL 8.0.11 ,MySQL 8.0.25, Windows10,Ubuntu20.04.2.0

问题背景

由于要做机器学习的一些东西要用Linux,我就按照网上的教程安装了双系统(Ubuntu 20.04.2.0),具体见我另一篇文章。在经历了9981难之后,总算是把Ubuntu安装上去了,然后回过头来做数据库的大作业,结果!就发现MySQL启动不了了。

尝试过程

  1. 我首先去“此电脑” → \to “管理” → \to “服务” → \to “MySQL80”,先尝试手动启动MySQL80服务,出现了上述图片的情况。

  2. 重启电脑,再次重复步骤1,同样的情况。( × n 次 ⋯ \times n次\cdots ×n

  3. 在网上找教程,尝试创建安装路径下的my.ini文件,接着在PowerShell窗口依次运行了

    mysqld -remove

    mysqld -install

    mysqld --initialize

    网上说一般到这就可以解决了,but not me(hhh)。传送门

  4. 查看端口3306端口情况:
    在PowerShell输入:
    netstat -ano
    端口占用,发现没有占用3306端口的进程,失败。

  5. 将NETWORK SERVICE添加到Administrators组中:“此电脑” → \to “管理” → \to “系统工具” → \to “本地用户和组” → \to “组”,在Administrators中添加了"NETWORK SERVICE",保存,重复步骤2,没用。
    【MySQL80服务无法启动】本地计算机上的MySQL80服务启动后停止。某些服务在未由其他服务或程序使用时将自动停止。_第2张图片

  6. 重新安装MySQL,安装了最新的8.0.25,(之前的是8.0.11),在安装MySQL Server 8.0的时候,卡在了"Start Server"这一步,下方提示“打开服务花费了比预期长的时间”。我按照安装程序提示选择了cancel退出了安装。之后,在PowerShell窗口中重复了步骤3的操作,没用,但是我输入了
    mysqld --console
    查看报错信息,发现:
    灵魂拷问
    很明显,回到了步骤4,失败。

  7. 既然3306被占用,那我换成3307总行了吧,重新安装MySQL,端口改为3307,重复了6,失败。

  8. 我又想到,我安装了双系统,是不是Ubuntu里面也预装了MySQL占用了端口,于是我进入到Ubuntu里面,将Ubuntu里的MySQL删除。回到Windows,没用。Ubuntu中删除MySQL

解决方案

我在"C:\ProgramData\MySQL\MySQL Server 8.0\Data"目录下发现了一个后缀名为.err的错误日志文件,打开之后,我看到了这样一句话:
在这里插入图片描述
Can’t start server: Bind on TCP/IP port: An attempt was made to access a socket in a way forbidden by its access permissions.
啥意思呢?我也没看懂,去谷歌翻译了一下,还是没看懂。我直接搜索,找到了这样一篇文章
我的救心丸
然后,按照里面的Method1,设置服务中的"Internet Connection Sharing"为禁用,确定重启,终于可以了。(虽然不知道为什么)

写在最后

最后我想说,无法启动MySQL80服务这里的水很深,我把握不住,出现这样问题的原因也是多种多样,还是需要大胆细心的尝试才能解决问题。

你可能感兴趣的:(笔记,数据库,mysql)