我目前遇到一个问题,即允许多个用户使用 phpmyadmin 登录而不查看彼此的数据库。我正在使用这种方法:http://alandoyle.com/tutorials/configuring-phpmyadmin-for-multiple-users/
虽然该方法在大多数情况下都有效,但在创建新用户时,我选中“授予通配符名称(用户名_%)的所有权限”选项,但不允许我使用该用户登录,除非我不指定密码并启用“$cfg['Servers'][$i]['AllowNoPassword']”。
我尝试过的:
我尝试创建相同的用户,但我没有勾选它,但是虽然我可以登录,但不幸的是我可以看到所有根数据库。与我不选择密码时相反,我只能看到与该用户相关的数据库。
编辑:我发现将用户设置为 LOCALHOST 似乎只能解决这个问题。由于某种原因,使用 ANYHOST 不适用于本地登录。
在我的测试服务器上更改 root 密码后,我遇到了同样的问题。我无法再使用任何新用户进行连接。我正在胡闹,但我认为这可能与添加河豚安全性或其他东西有关。
我的 PHP 脚本也无法连接。我也无法授予新用户所有权限。我不确定我做了什么让这件事发生。我的老用户可以实现这一目标。
每个用户必须同时拥有 localhost 和 %。只有这样,您才能在本地以及从其他主机或客户端程序登录。这就是为什么您会发现 root 用户也有如此多的条目。
解决此问题的步骤:
这是显示我所指的设置的屏幕截图。 现在注销并以新用户身份登录。
因此,我认为所有(授予)权限都必须通过 mySql 进行管理,而不是任何其他方式...
当您选择新用户的权限时,如果您想启用用户,请选中 GRANT 标志。
如果它还显示与密码相关的错误,请尝试将此行添加到 phpmyadmin 的 config.inc.php 中:
$cfg['Servers'][$i]['ssl'] = true;
我必须配置三个用户条目才能最终工作:
Anyhost: %
Local: localhost
Local: ::1