首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mysql用户可以从主机获得密码,但不能从远程计算机访问。

问Mysql用户可以从主机获得密码,但不能从远程计算机访问。
EN

Database Administration用户
提问于 2015-07-03 12:20:38
回答 2查看 33关注 0票数 1

我已经设置mysql,并创建了一个用户‘测试’,并为它提供了一个密码。

奇怪的是,对于测试用户来说,我可以使用我安装的mysql机器的密码进行访问,但是当我试图远程访问时,我需要提供一个密码。

为什么会有这种行为?知道吗?

EN

回答 2

Database Administration用户

发布于 2015-07-03 13:25:43

这是MySQL身份验证和当前用户安装的方式。

当您运行此命令时

代码语言:javascript
复制
SELECT USER(),CURRENT_USER();

您很快就会了解到,用户()告诉您如何查看mysqld如何尝试登录,而当前则告诉您mysqld是如何允许您登录的。三年前我在为什么用户表中不存在OS登录,但我仍然可以登录到MySQL?上讨论过这个问题

我的猜测是,当前_用户()在mysql.user中的任何内容都没有密码。

您可以运行SELECT CONCAT(QUOTE(user),QUOTE(host)) userhost,password FROM mysql.user;来查看用户。您可能会注意到密码是空的。

要解决问题,您必须创建一个远程用户名和密码。

票数 1
EN

Database Administration用户

发布于 2015-07-04 02:26:01

代码语言:javascript
复制
GRANT ... TO user@localhost ...
and
GRANT ... TO user@'%' ...

相互独立。

另外,如果主机名为my.site.com或%.site.com或11.22.33.44或11.22.33.%,则规则会变得更加复杂。特别是,其中一些可以引用同一个客户端,因此对于哪个GRANT的生效变得很棘手。

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

https://dba.stackexchange.com/questions/105868

复制
相关文章

相似问题

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