局域网Floreant POS多终端数据库连接失败问题求助
解决Floreant POS跨终端数据库连接失败问题
针对你遇到的这个 Connections could not be acquired from the underlying database! 错误,我帮你梳理几个最可能的排查方向,都是局域网跨机连MySQL的常见坑:
1. 修正MySQL用户的访问权限范围
你创建的用户是 user@192.168.100.150,这个配置意味着该用户只能从A电脑(192.168.100.150)本身登录数据库,B、C电脑的IP不在这个范围内,自然连不上。
解决步骤:
- 在A电脑打开XAMPP的MySQL控制台,执行以下SQL(替换你的数据库名和密码):
-- 允许user从192.168.100.*网段的任何机器访问数据库 GRANT ALL PRIVILEGES ON 你的_floreant_pos数据库名.* TO 'user'@'192.168.100.%' IDENTIFIED BY '你的密码'; -- 刷新权限使配置生效 FLUSH PRIVILEGES; - 注意:B、C电脑配置数据库时,用户名只需要输入
user,不要带@192.168.100.150,这是新手常犯的错误。
2. 修改MySQL的绑定地址(允许远程访问)
XAMPP默认安装的MySQL通常只绑定127.0.0.1(仅本地访问),需要改成允许局域网访问:
- 打开XAMPP控制面板,停止MySQL服务
- 找到MySQL的配置文件(Windows是
XAMPP\mysql\bin\my.ini,Linux是/opt/lampp/etc/my.cnf) - 找到
[mysqld]段的bind-address配置,把它改成:bind-address = 0.0.0.0 # 允许所有IP访问,或者直接写A电脑的静态IP 192.168.100.150 - 保存配置后,重启MySQL服务
3. 检查A电脑的防火墙设置
A电脑的防火墙可能拦截了MySQL的默认端口(3306),导致B、C无法连接:
- 临时关闭A电脑的防火墙(比如Windows Defender防火墙),测试B、C能否连接数据库
- 如果关闭后能连接,就需要在防火墙里添加入站规则:允许TCP协议的3306端口访问(针对局域网网段)
4. 用基础工具测试连接(定位问题)
先跳过Floreant POS,直接用MySQL命令行或第三方客户端(比如Navicat)在B电脑测试连接:
- 打开命令提示符,执行:
mysql -h 192.168.100.150 -u user -p - 如果这个命令能成功登录数据库,说明MySQL的配置没问题,问题出在Floreant POS的客户端配置上:
- 检查客户端的数据库URL是否正确,比如JDBC URL应该类似:
jdbc:mysql://192.168.100.150:3306/你的数据库名?useSSL=false&serverTimezone=Asia/Shanghai - 确认配置文件里的端口、用户名、密码没有拼写错误
- 检查客户端的数据库URL是否正确,比如JDBC URL应该类似:
按照这个顺序排查,大概率能解决你的问题。
内容的提问来源于stack exchange,提问作者Orochi
相关产品推荐
相关产品推荐

