如何修复:MySQL 无法启动:错误“另一个 mysqld 服务器在端口:3306 上运行?” - 检查端口,它是免费的
Posted
技术标签:
【中文标题】如何修复:MySQL 无法启动:错误“另一个 mysqld 服务器在端口:3306 上运行?” - 检查端口,它是免费的【英文标题】:How to fix: MySQL can not start: Error "another mysqld server running on port: 3306?" - checked port and it is FREE 【发布时间】:2021-06-15 18:54:40 【问题描述】:我在 mysql 服务中遇到了一个奇怪的错误。由于与端口有关的问题,我无法启动它。我检查了我的错误日志:
2021-03-18T10:02:22.507114Z 0 [ERROR] [MY-010262] [Server] Can't start server: Bind on TCP/IP port: Cannot assign requested address
2021-03-18T10:02:22.507246Z 0 [ERROR] [MY-010257] [Server] Do you already have another mysqld server running on port: 3306 ?
2021-03-18T10:02:22.508080Z 0 [ERROR] [MY-010119] [Server] Aborting
我已经在 *** 上查看了有关此问题的其他一些帖子,因此我决定尝试解决方案。
Another mysqld server running on port 3306 error Do you already have another mysqld server running on port: 3306 Ubuntu Mysql port already in use我检查了所有端口:
netstat -tulpn
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:12526 0.0.0.0:* LISTEN 485/sshd
tcp 0 232 172.16.2.34:12526 10.200.0.62:62217 ESTABLISHED 898/sshd: sop [priv
tcp6 0 0 :::80 :::* LISTEN 547/apache2
如您所见,端口 3306 没有任何关联。 可以肯定的是,我通过以下方式进行了检查:
lsof -i TCP:3306
我决定尝试更改 MySQL 使用的端口。我打开了配置文件并将端口更改为肯定必须空闲的另一个端口(再次,我检查了)。
port = 6606
不幸的是,它只导致更改错误日志:
2021-03-18T10:22:22.507114Z 0 [ERROR] [MY-010262] [Server] Can't start server: Bind on TCP/IP port: Cannot assign requested address
2021-03-18T10:22:22.507246Z 0 [ERROR] [MY-010257] [Server] Do you already have another mysqld server running on port: 6606 ?
2021-03-18T12:02:22.508080Z 0 [ERROR] [MY-010119] [Server] Aborting
我见过的所有解决方案,都需要杀死占用端口的程序,但是当没有这样的程序时我应该怎么做呢?我还能考虑什么?我想知道我是否会最终重新安装 MySQL,因为我不知道如何处理这个错误......
我想承认 MySQL 到目前为止运行良好,我无法确定它为什么突然停止正常运行。系统没有发生重大变化。没有安装可以开始使用 MySQL 想要使用的端口的服务。
我在 Linux Debian 10 上使用 MySQL。
提前感谢您的所有帮助和时间。 :)
【问题讨论】:
您使用的是什么版本的 MySQL?尝试使用备用端口运行 MySQL 时,您尝试的完整命令是什么? MySQL 版本:Server version: 8.0.23 MySQL Community Server - GPL
当我尝试使用备用端口运行 MySQL 时,我更改了配置文件中的端口属性。我根本没有使用任何命令。
【参考方案1】:
通过运行以下命令检查 MySQL 服务状态:
/etc/init.d/mysqld状态
如果 MySQL 服务正在运行,则通过运行以下命令停止服务
/etc/init.d/mysqld 停止
通过运行以下命令检查 MySQL 服务端口 3306 是否仍在使用中:
netstat -apn | grep 3306
如果在步骤 3 中发现 MySQL 服务正在运行,则使用以下命令终止该服务:
杀死 -9 pid
使用以下命令启动 MySQL 服务:
/etc/init.d/mysqld 启动
【讨论】:
很抱歉,这里没有用。我检查了它 - 也用你的命令 - 没有关于运行 MySQL 服务的跟踪。【参考方案2】:我遇到了同样的问题,3306端口没有被使用,但是我无法启动mysql服务器。
我是第一次安装 MySQL 集群,所以我遵循了这个指南:https://devops-fu.org/2018/08/13/how-to-install-mysql-ndb-cluster-ubuntu/
发现mysql无权访问以下文件夹:
/var/lib/mysql
/var/log/mysql
/var/run/mysql
也许我使用错误的用户帐户运行安装命令。
【讨论】:
【参考方案3】:经过更多的研究和努力,我决定完全重新安装 MySQL 服务,因为我没有发现任何工作。现在一切正常,但我希望我以后不会遇到类似的事情。
【讨论】:
以上是关于如何修复:MySQL 无法启动:错误“另一个 mysqld 服务器在端口:3306 上运行?” - 检查端口,它是免费的的主要内容,如果未能解决你的问题,请参考以下文章
如何修复 Xcode“DTAssetProviderService 无法启动..”错误?
PhpMyAdmin - 错误无法在没有错误的情况下启动会话:如何修复?
当您无法修复表时,如何修复 MySQL“不正确的密钥文件”错误?