xunfengqi 2023-03-01 23:16 采纳率: 25%
浏览 18
已结题

perl总是会占用3306端口是咋回事?

每次启动mysqld总会失败,一看原来是perl占用了3306端口

netstat -anp |grep perl
tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      885/perl            
udp        0      0 0.0.0.0:3306            0.0.0.0:*                           885/perl 

关键是杀死了又会跑出来,导致我启动mysqld失败

 kill 885
systemctl start mysqld
Job for mysqld.service failed because the control process exited with error code. See "systemctl status mysqld.service" and "journalctl -xe" for details.
 netstat -anp |grep perl
tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      17604/perl          
udp        0      0 0.0.0.0:3306            0.0.0.0:*                           17604/perl    

害我每次启动mysqld都要先kill perl

 kill 17604; systemctl start mysqld
 systemctl status mysqld
● mysqld.service - MySQL Server
   Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
   Active: active (running) since 三 2023-03-01 23:05:47 CST; 11s ago

有人知道是咋回事嘛

  • 写回答

1条回答 默认 最新

  • curating 2023-03-02 07:10
    关注

    perl启了服务,在linux的守护进程里,kill会自动重启。
    ps -ef|grep perl 找到具体启动文件,停掉该服务,systemctl disable xxx 禁用该perl服务。应该没有用到该服务。你kill perl后启动mysql,3306端口被占用,perl不能启动。
    也可以修改 perl服务的端口,改为其它端口解决。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 3月10日
  • 已采纳回答 3月2日
  • 创建了问题 3月1日