局域网跨网段访问mysql需要进行一些配置,这里提供一种方法:
第一步,修改mysql配置文件my.cnf,在[mysqld]下新增一条配置项:
bind-address = 0.0.0.0
这个配置项的作用是监听所有网卡接口,让mysql可以接收来自其他网络的连接。配置完成后,需要重启mysql服务。
第二步,在mysql中添加一个允许远程访问的账户,可以执行以下命令:
GRANT ALL PRIVILEGES ON *.* TO 'username'@'host' IDENTIFIED BY 'password' WITH GRANT OPTION;
flush privileges;
其中,username是账户名,password是密码,host是允许访问的主机名或IP地址,%表示允许所有主机访问。
第三步,在防火墙中开放3306端口,允许外部访问。如果使用的是CentOS系统,可以执行以下命令:
iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
service iptables save
最后,其他网络的机器就可以使用mysql客户端连接到本地的mysql服务了:
mysql -hip地址-u账户名-p
需要注意的是,为了安全起见,不要使用root账户进行远程访问。另外,在生产环境中不推荐将mysql暴露在公网上,建议使用VPN等方式进行访问。