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

Flutter Web能否连接MySQL数据库?其他平台可通过mysql1包正常实现该功能

Flutter Web 连接MySQL问题解答

Flutter Web 不能直接使用mysql1包连接MySQL数据库,核心原因和解决方案如下:

  • mysql1依赖原生TCP Socket连接能力,而浏览器的JavaScript运行环境受沙箱安全限制,不支持自定义TCP Socket连接,仅允许HTTP、WebSocket等标准web协议通信,因此你在移动端、桌面端正常运行的mysql1相关代码,编译到Web端后无法正常执行。
  • 前端直连数据库本身存在极高安全风险,数据库账号密码会直接暴露在前端可读取的代码中,哪怕仅配置只读权限,也会导致全量数据泄露,恶意用户甚至可以直接操作数据库删库、篡改数据。

推荐的落地方式:
在服务端新增一层接口代理层,你可以用任意熟悉的后端技术栈实现(Dart、Go、Java、Node.js均可),对外提供HTTP/HTTPS接口,Flutter Web端通过调用接口完成数据操作,再由后端服务和MySQL数据库建立连接执行对应SQL。

如果你选择Dart作为后端开发语言,之前写的mysql1数据库操作逻辑基本可以直接复用,不需要额外重构。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.10 16:03:01