树莓派4上MariaDB无法通过DBeaver连接的排查求助
MariaDB无法通过DBeaver远程连接的排查方向
1. 确认MariaDB服务监听状态
- 执行
netstat -tulpn | grep mysql或ss -tulpn | grep mysql,检查服务是否真的在0.0.0.0:3306监听,避免配置修改后未重启服务,或被其他配置文件覆盖。 - 重启MariaDB确保配置生效:
sudo systemctl restart mariadb
2. 检查树莓派防火墙规则
- Raspbian Buster默认用ufw,执行
sudo ufw status查看是否开放3306端口入站规则。未开放则添加:sudo ufw allow 3306/tcp,再重启ufw:sudo ufw reload - 若使用iptables,执行
sudo iptables -L -n检查规则,无允许规则则添加:sudo iptables -A INPUT -p tcp --dport 3306 -j ACCEPT,并保存规则:sudo iptables-save > /etc/iptables/rules.v4
3. 验证DBeaver连接参数
- 确认主机地址为树莓派局域网IP(如192.168.1.x),而非localhost/127.0.0.1
- 检查端口号是否为3306,可查看MariaDB配置文件中的
port参数确认 - 核对用户名(
admin@%或admin@192.168.1.x)和密码,避免输入错误 - 暂时关闭DBeaver的SSL连接选项,部分默认SSL配置会导致连接失败
4. 测试局域网端口连通性
- 在DBeaver所在电脑执行
telnet 192.168.1.x 3306或nc -zv 192.168.1.x 3306,判断端口是否能连通:- 不通则为网络层面问题(防火墙、路由限制)
- 能通则回到MariaDB权限或DBeaver配置排查
5. 确认MariaDB权限生效
- 通过SSH或phpMyAdmin登录MariaDB,执行
SELECT user, host FROM mysql.user;,确认admin对应的host为%或客户端IP,无拼写错误 - 执行
SHOW GRANTS FOR 'admin'@'%';,确认权限包含ALL PRIVILEGES ON *.* - 执行
FLUSH PRIVILEGES;确保权限修改生效
6. 查看MariaDB错误日志
- 查找日志路径:
sudo grep log_error /etc/mysql/mariadb.conf.d/50-server.cnf - 实时查看日志:
sudo tail -f /var/log/mysql/error.log,尝试DBeaver连接后,查看是否有具体报错信息(如权限拒绝、连接异常)
内容的提问来源于stack exchange,提问作者thermike
相关产品推荐
相关产品推荐

