#1045无法登录MySQL服务器Multicraft

时间:2014-02-02 18:44:44

标签: phpmyadmin centos

我遇到了很多问题 - #1045无法登录MySQL服务器

我刚刚在我的服务器上下载并安装了MultiCraft。我以前使用phpMyAdmin,它曾经工作完美。无论如何,MultiCraft正在正确地创建用户,虽然当我打算用它提供的详细信息登录它时它不起作用会带来这个错误 - #1045无法登录到MySQL服务器

现在,我开始挖掘所以我在root帐户上进入phpMyAdmin,我看到该帐户已创建,并且作为主机它是%我将其更改为localhost并且它开始工作。现在,如果我要为每个客户执行此操作,他们将不得不等待我这样做,这对他们来说会耗费一些时间,为什么phpMyAdmin不允许人们以%作为主机进入服务器。

谢谢

1 个答案:

答案 0 :(得分:0)

在MySQL中,有两种主要的连接方式:通过UNIX套接字或TCP / IP网络连接。 %是主机名的通配符运算符,但不适用于套接字。当连接到localhost时,它使用套接字连接(是的,我知道在一般网络术语中,“localhost”映射到127.0.0.1,但MySQL必须有点不同)。

因此,如果您创建(或MultiCraft创建)新用户foo@localhostbar@%,“foo”只能通过套接字连接,“bar”只能通过TCP / IP连接。您应该弄清楚应用程序如何连接到MySQL并对该方法进行标准化。这就是为什么MySQL安装默认为root @ localhost和root@127.0.0.1的用户,所以你可以从任何一种方法连接。

一些注意事项:

  • 我对MultiCraft一无所知,但如果它真的在MySQL中为每个用户帐户创建一个新用户,我会感到惊讶。这是......一种尴尬的做事方式。通常,应用程序会为要使用的程序创建一个或几个MySQL帐户。该MySQL帐户与实际拥有应用程序帐户的用户无关;相反,应用程序具有处理应用程序内用户权限的表。例如,在我的WordPress实例中,有一个MySQL用户帐户,WordPress用它来与MySQL通信。在WordPress数据库中,有一个表包含大约800个单个用户帐户的条目。所以我要说的是,您可能不需要为每个用户进行此更改。
  • 通过将您的root帐户从%更改为localhost,我有点惊讶您没有被踢出phpMyAdmin。同样,我也有点惊讶,因为还没有两个root账户。

无论如何,希望给你足够的信息来弄清楚发生了什么。始终记得在进行更改之前进行备份。祝你好运。