设置mysql允许外部IP连接

本文介绍如何修改MySQL默认设置,允许外部IP进行连接。通过在'user'表中添加授权,可以使特定IP地址的root用户使用指定密码连接到MySQL服务器。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

mysql默认情况下,只允许localhost连接,如果需要外部IP连接到mysql,需要向mysql数据库里的“user”表里添加相关授权。

例如:让root用户使用root密码从IP:192.168.1.1主机链接到mysql服务器  

GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.1.1' IDENTIFIED BY 'root' WITH GRANT OPTION;

flush privileges; 

 

### 配置 MySQL允许外部远程连接 为了使 MySQL 数据库能够接受来自外部网络的请求,在 Linux 下需执行一系列特定操作来确保安全性和功能性。 #### 修改 MySQL 配置文件 编辑 `/etc/my.cnf` 或者 `/etc/mysql/my.cnf` 文件,找到 `[mysqld]` 段并加入 `bind-address = 0.0.0.0` 行,这会使得 MySQL 监听所有可用 IP 地址上的连接请求[^2]。 #### 设置防火墙规则 确认服务器端防火墙已打开必要的端口,默认情况下 MySQL 使用的是3306端口。对于基于 Red Hat 的系统可以使用如下命令开启端口: ```bash sudo firewall-cmd --zone=public --add-port=3306/tcp --permanent sudo firewall-cmd --reload ``` #### 创建具有远程访问权限的新用户 登录到 MySQL 控制台后,可以通过 SQL 命令创建新用户,并授予其适当级别的权限以便可以从任何地方(`%`)进行访问: ```sql CREATE USER 'newuser'@'%' IDENTIFIED BY 'password'; GRANT ALL PRIVILEGES ON *.* TO 'newuser'@'%'; FLUSH PRIVILEGES; ``` 上述语句中的 `'newuser'` 和 `'password'` 应替换为实际希望使用的用户名和密码[^3]。 #### 更改身份验证插件(仅限于 MySQL 8.x) 如果遇到由于默认的身份验证方式导致客户端无法正常工作的情况,则可能需要更改 root 用户或其他用户的认证方法至更兼容的形式如 `mysql_native_password`: ```sql ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'your_new_root_password'; FLUSH PRIVILEGES; ``` 这里同样需要注意将 `'your_new_root_password'` 替换为自己设定的安全密码[^4]。 完成以上步骤之后重启 MySQL 服务即可生效这些改动: ```bash sudo systemctl restart mysqld ``` 通过遵循上述指导方针,应该能够让 MySQL 成功地接收到来自互联网其他位置发起的数据通信尝试。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值