MySQL 数据库默认情况下是不允许远程连接的,这主要是出于安全考虑。以下是一些基础概念以及解决这个问题的方法:
127.0.0.1
或 localhost
)。首先,你需要编辑 MySQL 的配置文件 my.cnf
或 my.ini
,通常位于 /etc/mysql/my.cnf
或 /etc/my.cnf
。
找到并注释掉或删除以下行:
bind-address = 127.0.0.1
改为:
bind-address = 0.0.0.0
这表示 MySQL 服务器将监听所有网络接口。
保存文件后,重启 MySQL 服务以应用更改:
sudo systemctl restart mysql
登录到 MySQL 并授予用户远程访问权限。假设你的用户名是 myuser
,并且你想允许该用户从任何 IP 地址连接:
mysql -u root -p
在 MySQL shell 中执行以下命令:
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
FLUSH PRIVILEGES;
这里的 %
表示任意 IP 地址。
确保你的防火墙允许外部设备访问 MySQL 端口(默认是 3306)。如果你使用的是 iptables
:
sudo iptables -A INPUT -p tcp --dport 3306 -j ACCEPT
如果你使用的是 ufw
(Uncomplicated Firewall):
sudo ufw allow 3306/tcp
%
。通过以上步骤,你应该能够成功配置 MySQL 数据库以允许手机或其他远程设备连接。
领取专属 10元无门槛券
手把手带您无忧上云