登陆时报错,运行 mysql -uroot -p
输入密码后报错 ERROR 1130 (HY000): Host '::1' is not allowed to connect to this MariaDB server
不允许连接
原因:::1
是 IPv6 下的本地主机地址,类似于 IPv4 下的 127.0.0.1
,表示本机回环地址。在大多数情况下,::1
和 localhost
是等效的,都指向本地主机。
因此,当 MySQL 报错 Host '::1' is not allowed
时,实际上表示连接尝试使用了 IPv6 下的本地主机地址,而不是使用传统的 IPv4 下的 localhost
或 127.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,重新登陆就正常了。
标签:权限,mysql,Host,connect,allowed,MariaDB,root From: https://www.cnblogs.com/yuyanc/p/18162533