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

Flutter使用mysql1包连接本地MySQL报Connection refused错误如何解决

报错核心原因

Connection refused errno 111 是客户端无法和目标MySQL服务建立TCP连接导致,常见于移动端访问本地开发环境的场景,对应解决方案如下:

解决方案

1. 优先修正主机地址配置

  • 如果你用安卓模拟器运行应用:安卓模拟器的localhost指向模拟器自身,要访问宿主机的MySQL需要将host字段改为模拟器预留的宿主机映射地址 10.0.2.2
  • 如果你用局域网真机调试应用:保证手机和开发电脑在同一WiFi下,将host改为开发电脑的局域网IP(通常为192.168.x.x格式,可通过电脑的网络设置查看)

2. 检查开发侧网络限制

  • 关闭开发电脑的系统防火墙,或者手动放行3306端口的入站访问规则
  • 确认MySQL服务处于正常运行状态,本地可通过mysql -u root -p命令正常登录

3. 修正MySQL访问权限配置

默认MySQL的root用户仅允许本地(127.0.0.1)登录,需手动授权远程访问权限:

  1. 本地登录MySQL命令行
  2. 执行授权SQL:
GRANT ALL PRIVILEGES ON fluttertest.* TO 'root'@'%' IDENTIFIED BY 'abcd@1234';
FLUSH PRIVILEGES;
  1. 打开MySQL配置文件(Windows为my.ini,Linux/macOS为my.cnf),将bind-address参数从127.0.0.1改为0.0.0.0,保存后重启MySQL服务
补充注意事项

你提供的测试SQL存在语法错误,字段列表里password后多了多余的逗号,需修正为:

await value.query('insert into user (email, password) values (?, ?)',
    ['Bob', 'bob@bob.com']);

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 08:54:03