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

Flutter真机运行连接本地MySQL超时问题求助

Flutter真机连接本地MySQL超时问题

我用真实Android设备运行Flutter应用,通过mysql1库连接本地MySQL数据库,模拟器上运行正常,但真机始终报连接超时错误。

我的数据库配置文件mysql.dart代码如下:

/*This is a database configuration file*/

import 'package:mysql1/mysql1.dart';

class Mysql {

  static String host = '10.0.2.2',  
   
      user = 'root',  //User

      db = 'users';  //Database name

  static int port = 3306; //MySQL port number

  Mysql();

  Future<MySqlConnection> getConnection() async {

    var settings = new ConnectionSettings(

        host: host,
        port: port,
        user: user,
        db: db);

    return await MySqlConnection.connect(settings);

  }

}

我已经尝试把host改成本地IP地址,但还是出现相同的连接错误。


可能的解决方法:

  • 确认设备与电脑同网:确保手机和运行MySQL的电脑连接同一Wi-Fi,不要使用手机流量。
  • 修改MySQL绑定地址:找到MySQL配置文件(my.cnf/my.ini),将bind-address改为0.0.0.0(允许所有IP访问),修改后重启MySQL服务。
  • 授权MySQL用户远程访问:登录MySQL执行以下命令,开放用户的局域网访问权限:
    GRANT ALL PRIVILEGES ON users.* TO 'root'@'%' IDENTIFIED BY '你的数据库密码';
    FLUSH PRIVILEGES;
    
    可将%替换为手机的具体IP来缩小权限范围。
  • 关闭电脑防火墙/安全软件:临时关闭防火墙,或添加规则允许3306端口的入站连接。
  • 验证网络连通性:用手机终端工具ping电脑的局域网IP,确认网络是否通畅。
  • 检查Android网络权限:在AndroidManifest.xml中确保添加了权限:
    <uses-permission android:name="android.permission.INTERNET" />
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 16:45:25