database - 如何为多个用户配置 phpMyAdmin - 每个用户只能访问他们的数据库

标签 database authentication phpmyadmin

我想将 phpMyAdmin 配置为能够接受多个不同用户帐户登录之一。每个用户将被分配一个特定的数据库,并且只能访问该数据库。

phpMyAdmin 的默认配置是一个 super 用户,例如root 可以访问服务器上的每个数据库。

我需要能够让人们访问某些数据库,但不是全部。

你能不能

  1. 提供解决方案
  2. 评论我对下面现有解决方案的发现,该解决方案必须进行调整才能正常工作

以下解决方案有效 - 有一个额外的步骤(如下所述): http://alandoyle.com/tutorials/configuring-phpmyadmin-for-multiple-users/

额外的步骤是首先假设您已经设置了一个 mysql 用户和密码,例如'anotheruser' 并将此用户与数据库相关联 - 即将该用户添加到可以访问该数据库的用户列表中。

第二个附加步骤是再次运行上述解决方案页面中引用的 SQL 查询 block (在已经运行一次之后,按照原文中的说明,与引用的差不多(显然确保使用了正确的密码)) 但这次是针对您要授予访问权限的实际用户。因此,如果您的用户名为“anotheruser”,则将 pma 替换为 anotheruser,将 pmapassword 替换为 anotheruser 的密码。

因此,结合所有说明,这似乎有效。这样看来,每次添加新用户时,都必须为新用户运行相同的 SQL 查询。但我从解决方案中得到的印象是,这是一个一次性的 SQL 查询,支持添加任意数量的用户并通过 phpmyadmin ui 将他们添加到数据库中。想法?

在 SO 上查看了其他解决方案(但不是我所需要的):

最佳答案

使用这个

  $cfg['Servers'][$i]['auth_type'] = 'cookie';

代替

  $cfg['Servers'][$i]['auth_type'] = 'config';

在您的 config.inc.php 中并重新启动服务,然后将为所有用户启动身份验证过程,他们可以根据那里的授权进行工作。

关于database - 如何为多个用户配置 phpMyAdmin - 每个用户只能访问他们的数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3667644/

相关文章:

php - 如何使用 Ajax for MYSQL 插入、编辑、删除、显示条目?

php - 查询执行时间问题

php - 来自 phpMyAdmin 的 MySQL 触发器查询

mysql - 如何返回 mysql 中的所有匹配项,其中值出现在位置 n 的字符串中?

rest - 授权 REST 请求

database - Redis-cli - 选择哪个实例?

python - SQLAlchemy:如何过滤日期字段?

sql - 如何学习存储过程和触发器?

linux - 我可以在非 ssh 应用程序中使用 ssh key 进行身份验证吗?

Laravel 8 auth Attempting 和 Failed 事件未按预期触发