

新闻资讯
技术学院局域网部署MySQL需三步:一改bind-address为0.0.0.0或局域网IP并重启服务;二创建授权用户如'myuser'@'192.168.1.%'并刷新权限;三开放防火墙3306端口,最后用telnet或nc验证连通性。
在局域网中部署 MySQL,核心是让同一内网下的其他设备能访问这台 MySQL 服务器,而不是仅限于本机(localhost)。关键在于配置 MySQL 的绑定地址、用户权限和防火墙规则。
MySQL 默认只监听 127.0.0.1(
即仅本地),需改为监听局域网 IP 或所有接口:
/etc/mysql/mysql.conf.d/mysqld.cnf,Windows 是 my.ini 或 my.cnf(位于 MySQL 安装目录)bind-address 行,将其改为:bind-address = 0.0.0.0(监听所有 IPv4 地址)bind-address = 192.168.1.100
root 用户默认通常不允许从非本地主机登录,需显式授权:
mysql -u root -p
CREATE USER 'myuser'@'192.168.1.%' IDENTIFIED BY 'your_password';GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.%';FLUSH PRIVILEGES;
192.168.1.% 表示允许该网段(如 192.168.1.2–192.168.1.254)所有设备连接;若只允许某一台(如 192.168.1.50),可写成 'myuser'@'192.168.1.50'
MySQL 默认使用 3306 端口,若防火墙拦截,外部设备将无法建立 TCP 连接:
sudo ufw allow 3306
sudo firewall-cmd --permanent --add-port=3306/tcp,然后 sudo firewall-cmd --reload
telnet 192.168.1.100 3306(Windows)或 nc -zv 192.168.1.100 3306(Linux/macOS),能连通表示端口已开放在其他局域网设备上,用标准 MySQL 客户端工具连接:
mysql -h 192.168.1.100 -u myuser -p
Host 'x.x.x.x' is not allowed to connect → 检查用户 host 是否匹配,权限是否刷新Can't connect to MySQL server → 检查 bind-address、防火墙、网络连通性(ping + telnet)GRANT ... ON database_name.* 显式授权