要设置MySQL允许所有IP地址连接,可以按照以下步骤进行配置:
1. 修改 MySQL 配置文件
编辑 MySQL 配置文件 my.cnf
(路径通常为 /etc/my.cnf
或 /etc/mysql/my.cnf
),实测为/etc/mysql/mysql.conf.d/mysqld.cnf。
sudo vim /etc/my.cnf
在 [mysqld]
部分中,找到 bind-address
配置项,将其设置为 0.0.0.0
,允许监听所有网络接口:
[mysqld]
bind-address = 0.0.0.0
如果没有 bind-address
,可以手动添加一行。
保存并退出。
2.修改root用户允许访问地址
UPDATE mysql.user
SET host = '%'
WHERE user = 'root' AND host = 'localhost';
FLUSH PRIVILEGES;
3. 重启 MySQL 服务
修改配置和权限后,需要重启 MySQL 服务以应用更改:
sudo systemctl restart mysqld
或
sudo systemctl restart mysql
4. 开放防火墙端口
确保防火墙开放 MySQL 默认端口 3306
,否则外部无法连接。
如果使用 firewalld
:
sudo firewall-cmd --permanent --add-port=3306/tcp
sudo firewall-cmd --reload
如果使用 ufw
(Ubuntu):
sudo ufw allow 3306
5. 测试远程连接
使用 MySQL 客户端或命令行测试远程连接:
mysql -h your_server_ip -u root -p
your_server_ip
:服务器的IP地址。输入正确密码后,检查是否能够成功连接。
评论区