赞
踩
又是MySQL的问题,之前已经遇见过一次本地MySQL服务无法启动的情况,现在又出现了,好家伙!
还是老问题,还是老图片:
这一次我真的是想骂人,唉。
MySQL 8.0.11 ,MySQL 8.0.25, Windows10,Ubuntu20.04.2.0
由于要做机器学习的一些东西要用Linux,我就按照网上的教程安装了双系统(Ubuntu 20.04.2.0),具体见我另一篇文章。在经历了9981难之后,总算是把Ubuntu安装上去了,然后回过头来做数据库的大作业,结果!就发现MySQL启动不了了。
我首先去“此电脑” → \to →“管理” → \to →“服务” → \to →“MySQL80”,先尝试手动启动MySQL80服务,出现了上述图片的情况。
重启电脑,再次重复步骤1,同样的情况。( × n 次 ⋯ \times n次\cdots ×n次⋯)
在网上找教程,尝试创建安装路径下的my.ini文件,接着在PowerShell窗口依次运行了
mysqld -remove
mysqld -install
mysqld --initialize
网上说一般到这就可以解决了,but not me(hhh)。传送门
查看端口3306端口情况:
在PowerShell输入:
netstat -ano
端口占用,发现没有占用3306端口的进程,失败。
将NETWORK SERVICE添加到Administrators组中:“此电脑”
→
\to
→“管理”
→
\to
→“系统工具”
→
\to
→“本地用户和组”
→
\to
→“组”,在Administrators中添加了"NETWORK SERVICE",保存,重复步骤2,没用。
重新安装MySQL,安装了最新的8.0.25,(之前的是8.0.11),在安装MySQL Server 8.0的时候,卡在了"Start Server"这一步,下方提示“打开服务花费了比预期长的时间”。我按照安装程序提示选择了cancel退出了安装。之后,在PowerShell窗口中重复了步骤3的操作,没用,但是我输入了
mysqld --console
查看报错信息,发现:
很明显,回到了步骤4,失败。
既然3306被占用,那我换成3307总行了吧,重新安装MySQL,端口改为3307,重复了6,失败。
我又想到,我安装了双系统,是不是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服务这里的水很深,我把握不住,出现这样问题的原因也是多种多样,还是需要大胆细心的尝试才能解决问题。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。