如何通过Python的SQLAlchemy连接群晖NAS上的MariaDB数据库?
问题排查及解决步骤
- 首先排查网络连通性
在本地终端执行端口连通性测试命令:nc -zv 192.168.1.111 3307
如果返回连接失败,说明问题出在网络或群晖端配置,和本地Python依赖无关。 - 检查群晖MariaDB10配置
- 登录群晖后台,打开MariaDB10设置页,确认已勾选启用TCP/IP连接,端口设置为3307
- 确认绑定IP没有限制为127.0.0.1,建议设置为0.0.0.0(允许所有IP访问)或你的本地设备所在IP段
- 检查群晖系统防火墙规则,确认已开放3307端口的入站访问权限
- 检查数据库用户访问权限
登录PhpMyAdmin,执行以下SQL查看用户权限:SELECT user,host FROM mysql.user WHERE user='你的实际用户名';
如果对应的用户host字段为localhost,说明仅允许群晖本地访问,需要执行授权语句:
其中GRANT ALL PRIVILEGES ON test.* TO '你的用户名'@'%' IDENTIFIED BY '你的密码'; FLUSH PRIVILEGES;%代表允许所有IP访问,也可以替换为你本地设备的具体IP提高安全性。 - 验证基础连接能力
可在本地安装mysql客户端后执行连接测试:mysql -u 你的用户名 -p -h 192.168.1.111 -P 3307 test
如果该命令可以成功连接,再排查Python代码的参数问题,比如密码是否含特殊字符需要转义、账号密码是否拼写错误等。 - 本地依赖说明
你当前本地不需要安装MariaDB服务端,所以brew安装mariadb的冲突问题完全可以忽略,只要已通过pip install pymysql sqlalchemy安装了Python侧依赖即可,现有连接串格式无需修改。
内容的提问来源于stack exchange,提问作者yts61
相关产品推荐
相关产品推荐

