【发布时间】:2011-04-09 17:16:32
【问题描述】:
我想将 phpMyAdmin 配置为能够接受几种不同的用户帐户登录之一。每个用户都将被分配一个特定的数据库,并且只能访问该数据库。
phpMyAdmin 的默认配置是一个超级用户,例如root 可以访问服务器上的每个数据库。
我需要能够让人们访问某些数据库,但不是全部。
你也可以
- 提供解决方案
- 用下面的现有解决方案评论我的发现,必须对其进行调整才能正常工作
以下解决方案有效 - 有一个额外的步骤(如下所述): http://alandoyle.com/tutorials/configuring-phpmyadmin-for-multiple-users/
额外的步骤是首先假设你已经设置了一个 mysql 用户和密码,例如'anotheruser' 并将此用户与数据库相关联 - 即将此用户添加到可以访问该数据库的用户列表中。
第二个附加步骤是再次运行上述解决方案页面中引用的SQL查询块(在已经运行一次之后,按照原文中的说明,几乎和引用的一样(显然要确保使用正确的密码) )) 但这次是针对您要授予访问权限的实际用户。因此,如果您的用户名是“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
【问题讨论】:
-
这不是超级用户的问题吗?
-
我之前没有做任何特别的努力就完成了这项工作......我只是创建了一个数据库用户并只允许他们访问单个数据库。
-
@FUZxxl 我认为这是一个堆栈溢出问题,因为它是一个开发人员/程序员问题。超级用户问题适用于(高级、初学者等)计算机的end 用户 - 以某种方式使用 计算机但不用于开发的人活动,或者他们正在使用程序,不需要开发/编程知识的问题。
-
@Fosco - 但是当我尝试以该用户身份登录 phpmyadmin 时,我收到标准登录失败消息。使用 phpmyadmin 登录时,只有 root / 我的默认管理用户有效。请详细说明如何通过 phpmyadmin 设置用户/数据库访问。谢谢。
-
@Rob 你的 config.inc.php 中的 'auth_type' 是什么?我使用 cookie 身份验证。
标签: database login phpmyadmin