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

无法连接localhost:3306上的MySQL服务,重装后仍未解决怎么办?

问题根因定位
  • 第一个配置错误:bind-address 是MySQL服务端参数,需要写在[mysqld]配置段下,你当前把它写在[mysql](客户端配置段)里,服务端完全不会读取该配置,导致mysqld仅监听unix套接字,没有开启3306 TCP端口监听
  • 第二个配置错误:[client]段下强制设置了protocol = tcp,所有本地mysql客户端连接都会强制走TCP协议,不会使用默认的unix套接字,自然连接不上未监听TCP端口的服务端
  • 你执行mysqld --skip-grant-tables启动时,依旧读取错误的配置,不会开启TCP监听,所以客户端走TCP连接直接报错111拒绝连接
修复步骤
  1. 首先修改mysql.cnf配置,修正配置段归属:
[mysqld]
bind-address = 127.0.0.1

[client]
# 临时注释该行,允许客户端优先使用unix套接字连接,后续可根据需要再开启
# protocol = tcp
  1. 杀死所有残留的mysql进程:
sudo pkill -9 mysqld
  1. 正常启动mysql服务:
sudo systemctl start mysql
  1. 测试连接,Ubuntu下MySQL 8.0默认root用户使用auth_socket认证,本地直接用sudo即可无密码登录:
sudo mysql -u root
  1. 登录后可根据需要修改root密码为普通密码登录模式:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的新密码';
FLUSH PRIVILEGES;
  1. 后续如果需要强制客户端走TCP连接,再把[client]段的protocol = tcp注释取消即可,此时服务端已经正常监听127.0.0.1的3306端口,不会再出现连接报错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 14:45:01