首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mariadb主机在“localhost”上工作,但不使用IP选项- 127.0.0.1

Mariadb主机在“localhost”上工作,但不使用IP选项- 127.0.0.1
EN

Stack Overflow用户
提问于 2017-12-19 18:27:06
回答 2查看 1.4K关注 0票数 0

我试图使用sequel通过灰隧道连接到我的数据库,但它不起作用,并且迫使我在输入"localhost“时使用127.0.0.1,这会导致在命令行上运行的问题:

代码语言:javascript
复制
 mysql --host "localhost"

它起作用了

如果我跑:

代码语言:javascript
复制
 mysql --host "127.0.0.1"

我收到拒绝访问的错误:

错误1698 (28000):拒绝用户'root'@'localhost‘的访问

怎么一回事?

我试过了:update user set host='%' where host='localhost',但这不起作用。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-12-19 20:07:00

许多SQL服务器对于可能通过本地主机或远程进入的每个用户都有两个或更多不同的用户条目。(127.0.0.1算作远程)。

例如,对于根用户,您可能有这三个用户条目。

代码语言:javascript
复制
 CREATE USER 'root'@'localhost' IDENTIFIED BY REDACTED;
 CREATE USER 'root'@'127.0.0.1' IDENTIFIED BY REDACTED;
 CREATE USER 'root'@'%.example.com' IDENTIFIED BY REDACTED;

名称root没有什么特别之处,只是它在安装MySQL时被授予了很多特权。您需要将相同的权限授予其他版本的root@,不管您创建什么。

票数 1
EN

Stack Overflow用户

发布于 2017-12-19 20:01:21

我创建了一个新用户:

代码语言:javascript
复制
CREATE USER 'non-root'@'localhost' IDENTIFIED BY '123';

然后给予他们同样的特权:

代码语言:javascript
复制
GRANT ALL PRIVILEGES ON * . * TO 'non-root'@'localhost';

然后删除根并将non-root重命名为root

现在终于起作用了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47893094

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档