Host '::1' is not allowed to connect to this MariaDB server

登陆时报错,运行 mysql -uroot -p 输入密码后报错 ERROR 1130 (HY000): Host '::1' is not allowed to connect to this MariaDB server 不允许连接

原因:::1 是 IPv6 下的本地主机地址,类似于 IPv4 下的 127.0.0.1,表示本机回环地址。在大多数情况下,::1localhost 是等效的,都指向本地主机。

因此,当 MySQL 报错 Host '::1' is not allowed 时,实际上表示连接尝试使用了 IPv6 下的本地主机地址,而不是使用传统的 IPv4 下的 localhost127.0.0.1。这可能是由于操作系统或网络设置导致的,默认情况下 MySQL 可能没有为 IPv6 下的本地主机地址设置访问权限,导致连接失败。

解决方案:

指定明确的主机地址来避免这个问题,mysql -u root --host=127.0.0.1 -p 现在输入密码后可以正确登陆了,选择数据库 use mysql;

检查root账户访问权限:

SELECT host FROM mysql.user WHERE User = 'root';

添加要授予访问权限的每个系统的 IP 地址,然后授予权限:

CREATE USER 'root'@'::1' IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'::1';

重新加载权限

FLUSH PRIVILEGES;

再来检查下root账户访问权限,发现已经添加成功了。现在exit退出mysql,重新登陆就正常了。

参考资料:https://stackoverflow.com/questions/19101243/error-1130-hy000-host-is-not-allowed-to-connect-to-this-mysql-server

 

posted @ 2024-04-27 21:05  C羽言  阅读(1102)  评论(0)    收藏  举报