当我们在局域网内搭建本地mysql服务器时,有时候我们会发现无法从局域网内的其他设备访问该mysql数据库,这是为什么呢?
首先,我们需要确保mysql服务已经正常启动,可以通过以下命令来检查:
sudo service mysql status
如果mysql服务已经启动,我们就可以检查是否开启了远程访问权限。在mysql配置文件“/etc/mysql/mysql.conf.d/mysqld.cnf”中,我们需要找到以下行:
bind-address = 127.0.0.1
这一行指定了mysql服务器监听的IP地址,如果只绑定在本地,那么其他设备就不能访问了。我们需要将其修改为:
#bind-address = 127.0.0.1
bind-address = 0.0.0.0
这样就可以监听所有网络接口,包括局域网内的设备了。修改完配置文件后,我们需要重启mysql服务才能生效:
sudo service mysql restart
如果还是不能访问,可能是由于防火墙的问题。我们需要开放mysql默认端口3306的访问权限。在Ubuntu系统下,可以使用以下命令开放端口:
sudo ufw allow 3306/tcp
如果还是不能访问,可以尝试关闭防火墙测试:
sudo ufw disable
最后,我们可以在另一台设备上通过mysql客户端连接本地mysql服务器:
mysql -h [本地IP地址] -u [用户名] -p
输入密码后,就可以访问本地mysql数据库了。