不能用IP连接Mysql的几个原因

本文介绍了解决MySQL只能通过localhost或127.0.0.1连接的问题,提供了分配新用户的步骤,并详细说明了如何使用grant命令授权用户从特定IP地址进行远程连接。


1. 应该吧root的主机设置为%

2.修改my.conf配置

[mysqld]...bind_address=127.0.0.1 # 屏蔽掉该处 ...[mysqld]...skip_networking # 屏蔽掉该处

...

 

问题:mysql只能用localhost或127.0.0.1连接

解决:mysql安装完后,默认是root用户,root用户只能在服务器登录,需要分配新用户。

方法:
1.运行mysql客户端,以root用户登陆。

2.用如下命令选择需要操作的数据库,use database(数据库名),如:use multilingual;

3.用如下命令分配新用户: grant all on * to 'capinfo'(用户名) identified by 'capinfo'(密码);

  第一个capinfo是用户名,第二个capinfo是密码

4.退出即可使用IP用新增用户登陆

 

 

 

今天犯了一个非常低级的错误:MySQL 可以用localhost 连接,但不能用IP连接

结果原因是忘记了给数据库授权。用grant命令在MySQL的命令行控制台中处理一下就可以了。

grant all privileges on *.* to '用户名'@'IP地址' identified by '密码';

all privileges 所有权限 也可以写成 select ,update等

*.* 所有库的所有表 如 databasename.*
用户名 随便起
IP  数据库所在的IP
identified by ‘密码’ 表示通过密码连接

执行完上述命令后用下面的命令刷新一下权限

flush privileges;

### MySQL 无法通过 IP 地址连接原因分析 当尝试使用 IP 地址而非 `localhost` 或者 `127.0.0.1` 来连接 MySQL 数据库时出现问题,通常是因为以下几个原因: - **权限设置不当**:如果仅授予了本地主机 (`localhost`) 的访问权限,则其他位置发起的请求会被拒绝。 - **防火墙配置阻止**:某些情况下,默认的安全策略可能会拦截来自特定端口的数据包传输。 针对上述情况的具体操作指南如下所示: #### 授予远程访问权限 为了使指定 IP 能够成功建立到 MySQL 数据库的服务链接,需要确保该客户端拥有足够的权限。可以通过运行 SQL 命令来实现这一点: ```sql GRANT ALL PRIVILEGES ON *.* TO 'your_username'@'%' IDENTIFIED BY 'password'; FLUSH PRIVILEGES; ``` 此命令会赋予用户名为 `'your_username'` 并带有密码 `'password'` 的账户从任何地方(`%` 表示任意主机) 对所有数据库(*.*) 完全控制权。请注意替换实际使用的账号名和密码[^1]。 #### 修改绑定地址 编辑 MySQL 配置文件 `/etc/mysql/my.cnf` 或者 `/etc/my.cnf`, 找到 `[mysqld]` 下面的一行: ```ini bind-address = 127.0.0.1 ``` 将其更改为服务器的实际 IP 地址或者是通配符 `0.0.0.0`(表示接受所有的网络接口上的连接),以便允许外部设备接入服务[^2]: ```ini bind-address = 0.0.0.0 ``` 完成更改之后重启 MySQL 服务以应用新的设定。 #### 开放防火墙端口 对于 Linux 系统而言,可能还需要调整防火墙规则让 MySQL 默认监听的 TCP/3306 端口对外界开放。这一步骤可通过以下 shell 指令达成目的: ```bash sudo iptables -I INPUT -p tcp --dport 3306 -j ACCEPT ``` 这条指令向输入链表中插入了一条新记录,指示内核接收目标端口号等于 3306 的数据报文并转发给应用程序层处理;最后再次确认规则已被正确加载即可[^3].
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值