插件窝 干货文章 为什么我的 MySQL 33060 端口无法关闭?

为什么我的 MySQL 33060 端口无法关闭?

MySQL 端口 33060 Plugin 182    来源:    2025-03-31

MySQL 33060 端口无法关闭问题分析

MySQL 33060端口是MySQL X Protocol的默认端口,用于支持MySQL Shell、文档存储等功能。如果您发现这个端口无法关闭,可能是以下几个原因导致的:

可能的原因

  1. MySQL X Plugin正在运行:33060端口由MySQL X Plugin监听
  2. 配置未正确加载:修改配置后未重启MySQL服务
  3. 权限问题:没有足够的权限更改MySQL配置
  4. 其他服务占用:可能有其他服务意外占用了该端口

解决方案

方法1:禁用MySQL X Plugin

  1. 登录MySQL服务器:

    mysql -u root -p
    
  2. 执行以下SQL命令禁用X Plugin:

    UNINSTALL PLUGIN mysqlx;
    
  3. 检查插件状态:

    SHOW PLUGINS;
    

方法2:修改MySQL配置文件

  1. 编辑MySQL配置文件(通常是/etc/my.cnf/etc/mysql/my.cnf)

  2. [mysqld]部分添加或修改以下行:

    mysqlx=0
    skip-networking
    
  3. 重启MySQL服务:

    systemctl restart mysql
    # 或
    service mysql restart
    

方法3:检查端口占用情况

  1. 查看哪个进程在使用33060端口:

    sudo netstat -tulnp | grep 33060
    # 或
    sudo lsof -i :33060
    
  2. 如果确实有MySQL进程在使用,确认是否已正确禁用X Plugin

方法4:防火墙规则

如果只是想阻止外部访问,可以配置防火墙:

# 使用iptables
sudo iptables -A INPUT -p tcp --dport 33060 -j DROP

# 使用ufw(Ubuntu)
sudo ufw deny 33060

验证步骤

  1. 检查端口是否仍在监听:

    sudo netstat -tulnp | grep 33060
    
  2. 确认MySQL X Plugin状态:

    SHOW PLUGINS WHERE Name = 'mysqlx';
    
  3. 尝试从外部连接测试:

    telnet your_server_ip 33060
    

如果问题仍然存在,可能需要检查MySQL的错误日志获取更多信息:

sudo tail -n 50 /var/log/mysql/error.log

希望这些方法能帮助您解决问题。如果仍有困难,请提供更多关于您的MySQL版本和操作系统环境的信息。