新用户无法登录PHPmyadmin

问题描述 投票:0回答:7

我目前遇到一个问题,即允许多个用户使用 phpmyadmin 登录而不查看彼此的数据库。我正在使用这种方法:http://alandoyle.com/tutorials/configuring-phpmyadmin-for-multiple-users/

虽然该方法在大多数情况下都有效,但在创建新用户时,我选中“授予通配符名称(用户名_%)的所有权限”选项,但不允许我使用该用户登录,除非我不指定密码并启用“$cfg['Servers'][$i]['AllowNoPassword']”。

我尝试过的:

我尝试创建相同的用户,但我没有勾选它,但是虽然我可以登录,但不幸的是我可以看到所有根数据库。与我不选择密码时相反,我只能看到与该用户相关的数据库。

php authentication phpmyadmin privileges
7个回答
21
投票

编辑:我发现将用户设置为 LOCALHOST 似乎只能解决这个问题。由于某种原因,使用 ANYHOST 不适用于本地登录。

在我的测试服务器上更改 root 密码后,我遇到了同样的问题。我无法再使用任何新用户进行连接。我正在胡闹,但我认为这可能与添加河豚安全性或其他东西有关。

我的 PHP 脚本也无法连接。我也无法授予新用户所有权限。我不确定我做了什么让这件事发生。我的老用户可以实现这一目标。


18
投票

每个用户必须同时拥有 localhost 和 %。只有这样,您才能在本地以及从其他主机或客户端程序登录。这就是为什么您会发现 root 用户也有如此多的条目。

解决此问题的步骤:

  1. 使用root登录phpmyadmin
  2. 选择权限
  3. 选择您要修改的用户(即授予登录权限)。
  4. 如果您已经将主机指定为任意 (%),现在将其更改为 localhost。
  5. 确保单击选项按钮“保留旧的”并更新

这是显示我所指的设置的屏幕截图。 enter image description here 现在注销并以新用户身份登录。


0
投票
  1. 您需要创建mySql用户
  2. 您需要向每个用户授予仅访问其数据库的 mySql 权限
  3. 那我建议你在phpMyAdmin中做简单的表单识别

因此,我认为所有(授予)权限都必须通过 mySql 进行管理,而不是任何其他方式...


0
投票

当您选择新用户的权限时,如果您想启用用户,请选中 GRANT 标志。


0
投票

如果它还显示与密码相关的错误,请尝试将此行添加到 phpmyadmin 的 config.inc.php 中:

$cfg['Servers'][$i]['ssl'] = true;

0
投票

我正在使用 XAMPP,上面的答案不起作用。使用“localhost”作为主机名是不够的。我必须创建 2 个帐户,就像 itsols 在他的回答中解释的那样。

其中一个用户的主机名是“localhost”,另一个用户的主机名是“::1”(在 IPv6 中表示 localhost)。只有当我使用相同的用户名创建它们时,我才能登录到 phpmyadmin。

用户帐户主机名


0
投票

我必须配置三个用户条目才能最终工作:

Anyhost: %  
Local: localhost  
Local: ::1  
© www.soinside.com 2019 - 2024. All rights reserved.