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

如何通过Python实现多台电脑连接同一MySQL服务器并操作数据

配置实现步骤

服务端(部署MySQL的笔记本)配置

  • 修改MySQL监听地址:默认MySQL仅允许本地连接,找到MySQL配置文件(Windows系统为my.ini,Linux/macOS系统为my.cnf),将bind-address参数修改为0.0.0.0,或直接注释该行配置,修改完成后重启MySQL服务生效。
  • 开通MySQL用户远程访问权限:登录MySQL执行以下SQL语句,给指定账号授权远程访问权限:
    GRANT ALL PRIVILEGES ON 你的数据库名.* TO '你的用户名'@'%' IDENTIFIED BY '你的密码';
    FLUSH PRIVILEGES;
    
    其中%代表允许所有IP访问,如需限制仅特定IP访问,将%替换为对应IP即可。
  • 放行防火墙端口:在服务端笔记本的防火墙中添加3306端口(MySQL默认端口)的入站规则,避免其他设备的连接请求被拦截。
  • 查看服务端局域网IP:同局域网下的设备连接时需要用到服务端的局域网IP,Windows可在CMD执行ipconfig查看IPv4地址,Linux/macOS可执行ip addr查看。如需跨公网访问,需要在服务端路由器上配置3306端口的端口映射,将公网IP的3306端口映射到服务端笔记本的局域网IP的3306端口即可,注意公网暴露数据库端口有安全风险,建议设置强密码并限制访问IP范围。

客户端(其他笔记本)代码调整

无需安装MySQL服务或MySQL Workbench,仅需安装mysql-connector-python依赖,原有代码逻辑不需要大改,仅需调整数据库连接参数即可,调整后示例代码如下:

import mysql.connector  # 客户端只需执行pip install mysql-connector-python安装依赖即可

# 建立连接,host填写服务端的局域网IP(公网访问则填公网IP),其余参数和服务端配置的数据库信息保持一致
mydb = mysql.connector.connect(host="服务端IP地址",
                               user="授权的MySQL用户名",
                               passwd="对应的MySQL密码",
                               database="目标数据库名"
                               )
mycursor = mydb.cursor()
mycursor.execute("select items from test where inuse = 0")
databaselist2 = [i[0] for i in mycursor.fetchall()]
print(databaselist2)

# 执行增删改操作时需要手动提交事务
# mycursor.execute("update test set inuse = 1 where items = '测试项'")
# mydb.commit()

# 操作完成后关闭连接释放资源
mycursor.close()
mydb.close()

你原有开发的GUI逻辑可以直接复用,不需要额外调整。

多设备同时接入注意事项

  • MySQL本身支持多连接并发访问,不需要额外修改服务端基础配置,多台设备用授权的账号同时连接即可正常使用。
  • 多设备同时执行写操作(增删改)时,建议做好事务处理,操作完成后调用commit()提交,出现异常调用rollback()回滚,避免出现脏数据。
  • 建议每次操作完成后主动关闭游标和连接,避免无效占用数据库连接资源。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 05:48:03