树莓派MariaDB同局域网远程Python连接被拒绝问题排查
解决局域网设备连接树莓派MariaDB时的ConnectionRefusedError问题
出现这个错误是因为默认配置下MariaDB只允许本地访问,需要完成以下关键配置:
1. 修改MariaDB的绑定地址
默认MariaDB仅绑定127.0.0.1(localhost),导致局域网设备无法连接:
- 编辑服务器配置文件:
sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf - 找到
bind-address配置项,将其值修改为0.0.0.0(允许所有IP访问)或树莓派的局域网IP(如192.168.0.108) - 保存文件后重启MariaDB服务:
sudo systemctl restart mariadb
2. 为数据库用户授予远程访问权限
你的admin123用户可能仅被允许从localhost登录,需要授权其从局域网网段访问:
- 登录MariaDB控制台:
mysql -u root -p - 执行授权语句(替换为你的实际用户名、密码和网段):
GRANT ALL PRIVILEGES ON cdr_mapping.* TO 'admin123'@'192.168.0.%' IDENTIFIED BY 'abcd'; - 刷新权限使配置生效:
FLUSH PRIVILEGES; - 退出控制台:
EXIT;
3. 检查防火墙(可选)
如果树莓派启用了防火墙,需开放MariaDB默认端口3306:
- 若使用ufw防火墙:
sudo ufw allow 3306 - 若使用iptables:
sudo iptables -A INPUT -p tcp --dport 3306 -s 192.168.0.0/24 -j ACCEPT
完成以上配置后,重新运行你的Python连接代码即可正常访问树莓派上的MariaDB。
内容的提问来源于stack exchange,提问作者arpit joshi
相关产品推荐
相关产品推荐

