MySQL 安装完成后,默认只允许本地访问(localhost),如果需要从其他机器远程连接,需进行以下几项配置。
1. 修改 MySQL 用户权限
MySQL 的用户账号默认可能只绑定到本地。要开启远程访问,需为用户授予从任意主机或指定 IP 连接的权限。
登录 MySQL(通常使用 root):
mysql -u root -p执行以下 SQL 命令,允许 root 用户从任意 IP 远程访问(生产环境建议限制具体 IP):
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'your_password' WITH GRANT OPTION;FLUSH PRIVILEGES;
说明:
'root'@'%' 表示 root 用户可以从任何主机连接 your_password 替换为你设置的实际密码 FLUSH PRIVILEGES 刷新权限表使更改生效如需更安全,可指定特定 IP:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.1.100' IDENTIFIED BY 'your_password';2. 修改 MySQL 配置文件绑定地址
MySQL 默认配置可能只监听本地回环地址(127.0.0.1),需修改配置使其监听所有网络接口。
编辑 MySQL 配置文件,位置通常为:
Linux: /etc/mysql/mysql.conf.d/mysqld.cnf 或 /etc/my.cnf Windows: my.ini 文件(一般在安装目录下)找到 bind-address 这一行:
bind-address = 127.0.0.1将其改为:
bind-address = 0.0.0.0这表示 MySQL 将监听所有可用网络接口。保存文件后重启 MySQL 服务。
3. 确保防火墙放行 MySQL 端口
MySQL 默认使用 3306 端口。必须确保服务器防火墙允许该端口的入站连接。
Linux 上使用 ufw 的例子:
sudo ufw allow 3306/tcp或使用 iptables:
sudo iptables -A INPUT -p tcp --dport 3306 -j ACCEPT云服务器(如阿里云、腾讯云、AWS)还需在安全组中添加规则,放行 3306 端口。
4. 重启 MySQL 服务
完成上述修改后,重启 MySQL 以应用更改。
Linux 示例:
sudo systemctl restart mysqlWindows 可通过服务管理器重启 MySQL 服务。
基本上就这些。配置完成后,使用客户端工具(如 Navicat、DBeaver 或命令行)从远程机器测试连接。注意生产环境应避免开放 root 账号远程访问,建议创建专用用户并限制 IP 和权限。安全和便利之间要权衡。
