Host is not allowed to connect to this MariaDB server

使用Navicat连接数据库时出现了 Host xxx is not allowed to connect to this MariaDb server 的情况。发现了是因为授权的问题,使得连接权限受阻。所以,只需要进入数据库中,给予其权限即可。具体解决代码如下:

[root@localhost ~]# mysql -u root -p
Enter password:

#首先进入mysql数据库中

MariaDB [(none)]> grant all privileges on *.* to 'root'@'%' with grant option;
Query OK, 0 rows affected (0.15 sec)

#进入之后,输入以下代码,目的是将登录的主机设置为全部都能登录

MariaDB [(none)]> flush privileges;

Query OK, 0 rows affected (0.13 sec)

#随后,直接更新服务。或者直接重启mariadb server服务

MariaDB [(none)]> exit;
Bye

#退出数据库,结束!

然后再使用navicat连接使用就能连接到了。

 

### 解决MariaDB主机连接权限问题 当遇到“Host '172.19.14.97' is not allowed to connect to this MariaDB server”的错误时,这意味着来自该特定IP地址的连接未被授权访问MariaDB服务器。要解决这个问题,需要授予相应的权限给目标主机。 #### 授予远程主机访问权限 要在MariaDB中允许某个具体的IP地址(例如172.19.14.97)进行连接,可以通过修改用户表来实现这一点: ```sql GRANT ALL PRIVILEGES ON *.* TO 'your_username'@'172.19.14.97' IDENTIFIED BY 'your_password'; FLUSH PRIVILEGES; ``` 上述命令中的`your_username`应替换为实际使用的用户名,而`your_password`则需替换成对应的登录密码[^1]。 对于更广泛的网络范围内的设备接入需求,则可以考虑使用通配符的方式定义host部分,比如允许整个子网内的机器都能建立链接: ```sql INSERT INTO `user` (`Host`, `User`, ...) VALUES ('172.19.%', 'root', ...); FLUSH PRIVILEGES; ``` 这里以根账户为例说明操作过程;不过出于安全性的考量,在生产环境中建议创建具有最小必要权限的新账号用于日常管理任务而不是直接开放root用户的外部访问权能[^5]。 另外值得注意的是,如果希望任何地方都可以无差别地访问数据库服务的话——尽管这种做法通常不推荐因为存在安全隐患——也可以简单地将host设为百分号 `%` 表示匹配任意来源地址: ```sql GRANT ALL PRIVILEGES ON *.* TO 'some_user'@'%' IDENTIFIED BY 'password_here'; FLUSH PRIVILEGES; ``` 最后提醒一点,完成以上配置更改之后一定要记得执行刷新权限语句确保新设定即时生效[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值