Mysql is not allowed to connect to this mysql server报错解决办法

本文介绍了如何解决在尝试从特定主机连接MySQL服务器时遇到的权限错误。提供了三种不同的GRANT命令示例,包括从任意主机、指定IP地址及特定数据库的连接授权方法,并强调了执行FLUSH PRIVILEGES的重要性。

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

现象

第一次在服务器上安装mysql后,使用客户端连接服务器的mysql,报错“host xxx is not allowed to connect to this mysql server”。

解决办法

如果希望使用用户名为”username”,使用密码”password”从任何主机连接到mysql服务器的话:

mysql> GRANT ALL PRIVILEGES ON *.* TO 'username'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
Query OK, 0 rows affected (0.00 sec)

mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)

如果希望使用用户名为”username”,使用密码”password”从IP地址为192.168.0.100的主机连接到mysql服务器的话:

mysql> GRANT ALL PRIVILEGES ON *.* TO 'username'@'192.168.0.100' IDENTIFIED BY 'password' WITH GRANT OPTION;
Query OK, 0 rows affected (0.00 sec)

mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)

如果希望使用用户名为”username”,使用密码”password”从IP地址为192.168.0.100的主机连接mysql服务器的名字叫”mydatabase”的数据库话:

mysql> GRANT ALL PRIVILEGES ON mydatabase.* TO 'username'@'192.168.0.100' IDENTIFIED BY 'password' WITH GRANT OPTION;
Query OK, 0 rows affected (0.00 sec)

mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)

注意,执行完赋权后,一定要执行”FLUSH PRIVILEGES;”,否则不会生效。

### DBeaver 连接 MySQL 'not allowed to connect' 错误 解决方案 当尝试通过DBeaver连接MySQL服务器并收到错误消息“Host is not allowed to connect to this MySQL server”,这通常意味着当前主机未被授权访问该MySQL实例。解决此问题的方法涉及调整MySQL用户的权限设置。 #### 修改用户权限 为了允许特定主机上的客户端连接MySQL服务端,需登录到MySQL命令行工具并对`mysql.user`表中的相应记录做出更改: ```sql USE mysql; SELECT user, host FROM user WHERE User='your_username'; ``` 上述查询语句用于确认现有账户及其可接受的来源地址列表[^2]。 如果发现目标主机不在许可范围内,则可以通过执行如下SQL指令来授予必要的权限给指定IP地址或域名对应的机器: ```sql CREATE USER 'your_username'@'client_host_or_ip' IDENTIFIED BY 'password'; GRANT ALL PRIVILEGES ON *.* TO 'your_username'@'client_host_or_ip' WITH GRANT OPTION; FLUSH PRIVILEGES; ``` 这里需要注意的是,在实际操作过程中应当替换掉示例中的占位符(如`your_username`, `client_host_or_ip`, 和`password`)为具体的值[^4]。 对于想要开放任意位置都能访问的情况可以考虑使用通配符 `%` 替代精确匹配的 IP 地址或者主机名;但是出于安全性的考量并不推荐这样做除非确实必要[^1]。 另外一种情况可能是由于防火墙阻止了外部请求到达MySQL端口(默认3306),因此还需要确保网络层面也已经放开了相应的流量控制策略[^3]。 最后关于SSL公钥检索的问题(`Public Key Retrieval is not allowed`),可以在JDBC URL参数里加上选项`allowPublicKeyRetrieval=true&useSSL=false`以绕过这个问题[^5]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值