MySQL配置无bind-address行,如何实现局域网Java程序访问数据库?
解决MySQL局域网访问问题(无bind-address配置项时)
步骤1:手动添加bind-address配置到my.ini
- 找到my.ini文件位置:可通过命令
mysql --help | findstr /i "Default options"查询,通常在MySQL安装目录的bin或etc文件夹下 - 打开my.ini,定位到
[mysqld]段落,添加一行配置:bind-address = 0.0.0.0(0.0.0.0表示允许所有IP地址访问数据库) - 重启MySQL服务:Windows系统可在「服务」中找到MySQL服务右键选择重启;或用命令行执行
net stop MySQL(服务名可能是MySQL80等,需对应实际名称),再执行net start MySQL
步骤2:配置MySQL用户的局域网访问权限
- 本地登录MySQL客户端:打开命令行执行
mysql -u root -p,输入密码后进入 - 执行授权命令:
GRANT ALL PRIVILEGES ON library.* TO 'root'@'%' IDENTIFIED BY 'testPass';(%代表允许任意局域网IP访问library数据库,也可指定具体网段如192.168.1.%) - 刷新权限:
FLUSH PRIVILEGES;
步骤3:修改Java连接代码的数据库地址
- 将代码中的
dbURL值里的localhost替换为数据库所在电脑的局域网IP地址(比如192.168.1.100),修改后示例:
final String dbURL = "jdbc:mysql://192.168.1.100:3306/library?useSSL=false";
- 关键提醒:确保数据库所在电脑的防火墙开放3306端口的入站规则,否则局域网设备无法建立连接
内容的提问来源于stack exchange,提问作者Nicholas C
相关产品推荐
相关产品推荐

