1130- Host 'ThinkPad-PC' is not allowed to connect to this MySQL server
时间: 2025-06-10 22:36:36 浏览: 8
### MySQL 错误 1130 的解决方案
MySQL 错误 1130 表示客户端所在的主机未被授权连接到 MySQL 服务器。这通常是因为 MySQL 用户权限配置中未明确允许该主机访问数据库[^2]。以下是解决此问题的详细方法:
#### 1. 检查用户权限
确保目标主机(如 `ThinkPad-PC`)已被授权访问 MySQL 数据库。可以通过以下 SQL 查询检查现有用户的权限:
```sql
SELECT Host, User FROM mysql.user;
```
如果查询结果中没有列出 `ThinkPad-PC` 或其对应的 IP 地址,则需要为该主机创建新用户或更新现有用户的权限。
#### 2. 创建或更新用户权限
使用以下命令为特定主机授予访问权限:
```sql
CREATE USER 'your_username'@'ThinkPad-PC' IDENTIFIED BY 'your_password';
GRANT ALL PRIVILEGES ON your_database.* TO 'your_username'@'ThinkPad-PC';
FLUSH PRIVILEGES;
```
如果主机名可能发生变化,可以使用通配符 `%` 来表示所有主机:
```sql
CREATE USER 'your_username'@'%' IDENTIFIED BY 'your_password';
GRANT ALL PRIVILEGES ON your_database.* TO 'your_username'@'%';
FLUSH PRIVILEGES;
```
#### 3. 配置 MySQL 绑定地址
默认情况下,MySQL 可能仅绑定到本地地址 `127.0.0.1`,导致外部主机无法连接。需要修改 MySQL 配置文件(通常是 `my.cnf` 或 `my.ini`),将 `bind-address` 设置为 `0.0.0.0` 或服务器的公网 IP 地址:
```ini
[mysqld]
bind-address = 0.0.0.0
```
保存更改后,重启 MySQL 服务以应用配置:
```bash
sudo systemctl restart mysql
```
#### 4. 检查防火墙规则
确保服务器的防火墙允许来自目标主机的连接。例如,开放 MySQL 默认端口(3306):
```bash
sudo ufw allow 3306/tcp
```
或者在 iptables 中添加规则:
```bash
sudo iptables -A INPUT -p tcp --dport 3306 -j ACCEPT
```
#### 5. 测试连接
从目标主机尝试连接 MySQL 服务器以验证配置是否正确:
```bash
mysql -u your_username -h your_mysql_server_ip -p
```
通过上述步骤,可以有效解决 MySQL 错误 1130 的问题[^3]。
阅读全文
相关推荐


















