修改可连接mysql的IP

在mysql主机上操作:

mysql -u root -p

use mysql;

select host,user,password from user;

+---------------------+------+--------------------+
| host                    | user | password        |
+---------------------+------+--------------------+
| localhost            | root |                           |
| 127.0.0.1           | root | ***************** |
| localhost            |         |                           |
| 192.168.1.2      | root | ***************** |
| 192.168.1.10    | root | ***************** |

把需要修改的IP改成当前电脑的IP就可以了

update user set host='192.168.1.10' where host='192.168.1.188';

别忘记运行下面一句。

flush privileges;

<think>好的,我需要帮助用户在Debian 8.0.36上配置MySQL,允许root用户从任意IP远程访问。首先,我得回忆一下相关的步骤,并结合提供的引用内容来确保准确性。 首先,根据引用[2],MySQL默认绑定到本地地址,需要修改bind-address。用户可能需要编辑MySQL的配置文件,通常是/etc/mysql/my.cnf或/etc/mysql/mariadb.conf.d/50-server.cnf,把bind-address从127.0.0.1改为0.0.0.0或者注释掉,这样MySQL就会监听所有接口。 接下来,用户需要创建或修改root用户的权限,允许从任意主机连接。引用[3]提到可以使用GRANT语句授权,比如GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;。然后FLUSH PRIVILEGES; 使更改生效。但需要注意MySQL 8.0之后可能创建用户和授权需要分开执行,所以可能需要先创建用户再授权。 然后,用户可能需要调整防火墙设置,允许3306端口通过,比如使用ufw allow 3306/tcp。此外,检查MySQL是否启用了网络连接,如引用[5]中的skip_networking变量应为OFF,可以通过SHOW VARIABLES LIKE '%skip_networking%';来确认。 最后,重启MySQL服务使配置生效,比如systemctl restart mysql。测试远程连接时,如果出现错误如引用[4]中的10061,需要检查防火墙、MySQL是否运行、端口是否正确等。 需要注意的是,允许root从任意IP访问存在安全风险,建议创建专用用户并限制IP范围,或者使用SSH隧道等更安全的方法。同时,确保密码足够复杂,避免被攻击。 现在需要将这些步骤整理成清晰的指导,确保用户能一步步操作,同时引用相关的引用来源。</think>### Debian 8.0.36配置MySQL允许root远程访问的步骤 #### 1. 修改MySQL绑定地址 MySQL默认仅允许本地连接,需修改配置文件以监听所有网络接口: ```bash sudo vim /etc/mysql/mariadb.conf.d/50-server.cnf ``` 找到行`bind-address = 127.0.0.1`,修改为: ``` bind-address = 0.0.0.0 # 允许所有IPv4地址访问 # 或注释掉此行 ``` 保存后重启服务: ```bash sudo systemctl restart mysql ``` [^2][^3] --- #### 2. 授权root用户远程访问 登录MySQL并执行授权命令: ```sql mysql -u root -p -- 创建或更新root用户权限(MySQL 5.7及以下) GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '你的密码' WITH GRANT OPTION; -- MySQL 8.0+需分步操作 CREATE USER 'root'@'%' IDENTIFIED BY '你的密码'; GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION; -- 刷新权限 FLUSH PRIVILEGES; ``` [^5] --- #### 3. 检查网络连接设置 确保MySQL未禁用网络连接: ```sql SHOW VARIABLES LIKE 'skip_networking'; ``` 若结果为`OFF`表示允许TCP/IP连接,否则需修改配置[^5]。 --- #### 4. 配置防火墙放行3306端口 若使用防火墙,需允许MySQL默认端口: ```bash sudo ufw allow 3306/tcp # Debian默认使用iptables/ufw sudo systemctl restart ufw ``` --- #### 5. 测试远程连接 从另一台机器测试连接: ```bash mysql -u root -p -h [MySQL服务器IP] ``` 若出现错误`2003 (10061)`,需检查防火墙、MySQL服务状态及端口监听情况[^4]。 --- ### 安全建议 1. **避免使用root远程访问**:建议创建专用用户并限制IP范围,例如: ```sql CREATE USER 'admin'@'192.168.1.%' IDENTIFIED BY '强密码'; GRANT SELECT, INSERT ON 数据库.* TO 'admin'@'192.168.1.%'; ``` 2. **启用SSH隧道**:通过加密通道访问更安全。 3. **定期更新密码**:确保密码复杂度符合安全要求。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值