我想将 phpMyAdmin 配置为能够接受多个不同用户帐户登录之一。每个用户将被分配一个特定的数据库,并且只能访问该数据库。
phpMyAdmin 的默认配置是一个 super 用户,例如root 可以访问服务器上的每个数据库。
我需要能够让人们访问某些数据库,但不是全部。
你能不能
- 提供解决方案
- 评论我对下面现有解决方案的发现,该解决方案必须进行调整才能正常工作
以下解决方案有效 - 有一个额外的步骤(如下所述): http://alandoyle.com/tutorials/configuring-phpmyadmin-for-multiple-users/
额外的步骤是首先假设您已经设置了一个 mysql 用户和密码,例如'anotheruser' 并将此用户与数据库相关联 - 即将该用户添加到可以访问该数据库的用户列表中。
第二个附加步骤是再次运行上述解决方案页面中引用的 SQL 查询 block (在已经运行一次之后,按照原文中的说明,与引用的差不多(显然确保使用了正确的密码)) 但这次是针对您要授予访问权限的实际用户。因此,如果您的用户名为“anotheruser”,则将 pma 替换为 anotheruser,将 pmapassword 替换为 anotheruser 的密码。
因此,结合所有说明,这似乎有效。这样看来,每次添加新用户时,都必须为新用户运行相同的 SQL 查询。但我从解决方案中得到的印象是,这是一个一次性的 SQL 查询,支持添加任意数量的用户并通过 phpmyadmin ui 将他们添加到数据库中。想法?
在 SO 上查看了其他解决方案(但不是我所需要的):
- 是否有像 phpMyAdmin 这样的工具可以配置为只访问一个数据库?:Is there a tool like phpMyAdmin which can be configured to access just a single database?
- 如何配置 config.inc.php 以在 phpmyadmin 中拥有一个登录表单:how to configure config.inc.php to have a loginform in phpmyadmin
最佳答案
使用这个
$cfg['Servers'][$i]['auth_type'] = 'cookie';
代替
$cfg['Servers'][$i]['auth_type'] = 'config';
在您的 config.inc.php 中并重新启动服务,然后将为所有用户启动身份验证过程,他们可以根据那里的授权进行工作。
关于database - 如何为多个用户配置 phpMyAdmin - 每个用户只能访问他们的数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3667644/