You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Win10 Ubuntu终端MySQL无法运行 报ERROR2002(13)如何修复

WSL Ubuntu 环境 MySQL 2002 (sock 13) 错误修复步骤

错误码13对应权限拒绝,不是sock文件缺失类问题,核心诱因是WSL默认不启动系统服务、临时运行目录被清空、权限配置不匹配,按以下顺序排查修复:

  • 第一步:手动启动MySQL服务
    WSL默认未启用systemd,不会自动启动安装的系统服务,先执行启动命令:

    sudo service mysql start
    

    若返回启动成功提示,直接重新执行mysql -u root -p测试连接即可;若启动失败,直接跳至第三步查看错误日志定位根因。

  • 第二步:修复sock目录权限
    服务启动后仍报错的话,先检查mysqld运行目录配置:
    执行ls -ld /var/run/mysqld查看目录状态,正常情况该目录属主、属组均为mysql,权限位为755。不符合配置的话执行以下命令修复:

    # 目录不存在则先创建
    sudo mkdir -p /var/run/mysqld
    # 修正属主属组
    sudo chown mysql:mysql /var/run/mysqld
    # 修正目录权限
    sudo chmod 755 /var/run/mysqld
    # 重启服务生效
    sudo service mysql restart
    

    WSL每次重启后会清空/var/run下的临时文件,若每次打开终端都需要重新创建目录,可以把创建目录、赋权、启动服务的命令追加到~/.bashrc文件末尾,实现打开终端自动初始化。

  • 第三步:通过日志排查启动失败问题
    服务无法启动时直接读取MySQL错误日志定位具体问题:

    sudo cat /var/log/mysql/error.log
    

    WSL环境下最常见的两类启动失败原因处理:

    1. 数据目录初始化失败:执行sudo mysqld --initialize重新初始化数据目录,初始化生成的临时root密码会直接打印在日志中
    2. AppArmor权限拦截:WSL对AppArmor的支持存在兼容问题,执行sudo service apparmor stop关闭服务后再重启MySQL即可
  • 第四步:绕过sock文件验证服务可用性
    上述步骤未定位到问题时,可以强制走TCP协议连接本地服务,绕过sock文件校验:

    mysql -u root -p -h 127.0.0.1 --protocol=tcp
    

    如果该命令能正常连接,说明问题完全出在sock配置上,打开/etc/mysql/mysql.conf.d/mysqld.cnf检查socket配置项,确认路径与客户端报错中读取的/var/run/mysqld/mysqld.sock一致即可。


内容的提问来源于stack exchange,提问作者Prasant Pant

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 21:27:22