无法启动MySql,端口3306忙

时间:2011-05-26 09:27:31

标签: mysql windows xampp

我正在尝试从XAMPP(在Windows Vista下)启动MySql,但是它说端口3306正忙。

检查哪个应用程序正在使用该端口以及如何释放它的最佳方法是什么?

谢谢!

12 个答案:

答案 0 :(得分:6)

在命令shell中,运行:

netstat -b -p TCP

netstat -an | grep -i listen | grep -E 3306

第一个命令将输出一个列表,您需要查看第二列中显示localhost:3306的行。下面是使用端口的应用程序名称。

辅助命令将找到您要查找的确切端口,如下所示:

<example-name>:user <example-name>$ netstat -an | grep -i listen | grep -E 3306
tcp46      0      0  *.3306                 *.*                    LISTEN

答案 1 :(得分:5)

我遇到了同样的问题,被困在这件事上一天,我无法在任何地方找到完美的答案。 所以我自己给了它一个镜头,它起作用了。此解决方案适用于Windows用户。我使用的是Windows 7。

我的xampp控制面板显示一个错误,表示端口3306正忙且正在使用某个文件(名称已指定)..说“filename.de”。

现在请按照以下步骤操作:

  1. Ctrl + Alt + Del 并打开任务管理器。
  2. 打开“进程”列表并检查进程列表下的“显示所有进程”。如果您没有看到任何此类选项,请不要担心!因为有时需要管理员权限才能显示某些流程。
  3. 现在,当您点击“显示所有进程”按钮时,将显示所有进程。
  4. 现在,切换到任务管理器中的“服务”选项卡,将显示服务列表。现在查找一个名为“filename.de”的服务&lt; - 在xampp的错误消息中显示的文件名。
  5. 当您找到该服务时,“右键单击”,然后单击选项.. GoTo Process。
  6. 您将被重定向到“进程”选项卡,重点关注与该服务对应的进程。 “右键单击”,然后单击“结束进程树”。
  7. 现在,问题已经解决了!但是,当您重新启动PC时,可能必须再次执行相同的操作。所以最好让你的电脑处于睡眠模式。
  8. 否则,要永久解决此问题,请打开“msconfig”并从服务列表中取消选中该特定进程,然后单击“应用”。你可以重新启动你的系统。

答案 2 :(得分:4)

只需打开任务管理器并杀死MySql服务。

答案 3 :(得分:4)

@Segun Emmanuel提到的运行以下命令:

netstat -a -b 

您将获得使用不同端口的应用程序列表。按Ctrl + F并输入3306,以找出哪个应用程序正在使用PORT 3306。

enter image description here

此后,通过搜索栏或按CTRL + ALT + DEL转到任务管理器。然后在“后台进程”下,找到mysqld.exe,右键单击它,您将找到一个关闭它的选项,即“ End Task”。

enter image description here

然后转到您的 Xampp控制面板并启动MySQL服务。

enter image description here

答案 4 :(得分:2)

在我的情况下,javaw.exe是在端口3306上启动的。如果我在Windows 10中使用单个用户登录,则此exe不会导致问题。但如果我有多个登录,则会为每个登录启动此exe用户并阻止MySQL在3306端口上启动。

转到任务管理器并为其他用户杀死此exe修复了问题,MySQl可以启动。

答案 5 :(得分:2)

Windows图标->打开 cmd.exe
输入netstat -a -b
查找正在使用的内容。以我为例: Image 1

因此,我去了任务管理器。没有这样的过程。我去了服务并禁用了这两个:

Image 2

现在一切正常。

答案 6 :(得分:1)

我遇到了这个问题(我使用MAMP时略有不同)

我发现这个问题是由于安装了MySQL Workbench,MySQL Workbench在启动时启动了mySQL服务,这反过来阻止了MAMP能够使用该端口。

要解决此问题,我有2个选项,

  1. 卸载MySQL Workbench
  2. 打开任务,单击服务选项卡,终止当前的MySQL服务
  3. 然后允许MAMP使用端口3306

    希望这可以帮助别人!

答案 7 :(得分:1)

我已经为这个错误困扰了几个小时。一段时间后,我试图从 XAMPP 运行 MySQL。它给出了与您类似的错误,它说端口 3306 正在使用中。如果您:

  • 在 Windows 10 上运行
  • 避免将 MySQL 的端口号从 3306 更改
  • netstat 看不到任何使用 3306 端口的程序
  • 重新安装并删除所有内容,但仍然出现相同的错误
  • 正在启用和使用 Hyper-V
  • 所有其他解决方案均无效

这是对我有用的解决方案:

  • 转到任务栏最右侧并右键单击连接图标,然后单击 Open Network & Internet settings
  • 点击Change adapter options
  • 右键单击并禁用与 Hyper-V 相关的所有内容

我再次运行 MySQL,现在它可以工作了。

答案 8 :(得分:0)

如果mysql不是在xampp中启动,则可能是端口冲突问题。默认情况下,MySQL在端口3306上运行。您需要检查另一个应用程序是否正在占用该端口。使用以下命令检查应用程序是否占用端口

Linux: netstat -tulpn | grep 3306
Window: netstat -a -b 
Mac: lsof -nP -i4TCP:3306

如果找到占用该端口的应用程序,请停止该应用程序并重新启动xampp。或者,您可以转到php.ini文件或在xampp中为mysql单击“配置”,然后将mysql端口更改为3307

答案 9 :(得分:0)

对于此问题,在Windows上更简单的方法是:-

  1. 转到任务管理器
  2. 转到服务
  3. 将有一个名为MySQl80的服务,右键单击它,然后选择 “停止”
  4. 尝试再次在XAMPP服务器上启动MySQl模块

答案 10 :(得分:0)

如果您找不到在端口3306上监听的任何应用程序或进程,则可能需要检查您的网络适配器

  • 禁用不使用的适配器。

  • 还要注意 Hyper-V 生成的网络适配器,如果不需要,请禁用它。有时它可以保留一些端口,而netstat之类的命令将无法找到它

答案 11 :(得分:0)

如果你安装了两次mysql就会出现这个错误。 mysql 默认使用端口 3306。如果你已经安装了两次,那么你的端口号 3306 上已经有一个 mysql。所以你必须改变你的端口。

如果您使用的是 xampp,那么您可以轻松更改您的端口。更改端口的步骤: 第 1 步:以管理员身份打开您的 xampp。 第 2 步:单击 xampp 右上角的“配置”。 第三步:点击“服务和端口设置”​​,然后将mysql的主端口从3306改为3307,点击保存。 第 4 步:然后单击 mysql 前面的“config”并打开“my.ini”文件,该文件将是一个文本文件。 第 5 步:现在,无论在文本文件中的哪个位置看到提到的端口号 3306,将其更改为 3307,然后保存文件。

再次执行此操作后,启动您的 mysql 服务器,它将开始在端口 3307 上运行。

这对我有用,我希望它对遇到相同问题的其他人也有用。