我想配置phpMyAdmin以便能够接受多个不同的用户帐户登录之一。每个用户都将被分配一个特定的数据库,并且只能访问该数据库。
phpMyAdmin的默认配置是一个超级用户,例如root,可以访问服务器上的每个数据库。
我需要能够让人们访问某些数据库,但不是全部。
你能不能
以下解决方案有效 - 附加步骤(如下所述): http://alandoyle.com/tutorials/configuring-phpmyadmin-for-multiple-users/
其他步骤首先假设你已经设置了一个mysql用户和密码,例如'anotheruser'并将此用户与数据库相关联 - 即将此用户添加到可以访问该数据库的用户列表中。
第二个额外的步骤是再次运行上述解决方案页面中引用的SQL查询块(在已经运行一次之后,按照原始文本中的说明,几乎是引用的(显然确保使用了正确的密码) ))但这次是您想要访问的实际用户。因此,如果您的用户名是“anotheruser”,那么您将pma替换为另一个用户,将pmapassword替换为另一个用户的密码。
因此,除了所有说明之外,这似乎也有效。然后,每次添加新用户时,都必须为新用户运行相同的SQL查询。但我从解决方案得到的印象是,这是一个一次性的SQL查询,支持添加任意数量的用户,并通过phpmyadmin ui将它们添加到数据库。想法?
其他解决方案在SO上看(但不是我需要的):
答案 0 :(得分:1)
使用此
$cfg['Servers'][$i]['auth_type'] = 'cookie';
取代
$cfg['Servers'][$i]['auth_type'] = 'config';
在你的config.inc.php中启动并重新启动服务,然后将为所有用户启动身份验证过程,他们可以根据授权进行工作。
答案 1 :(得分:0)
如果要添加定义了用户和密码的其他主机,可以在config.inc.php上添加下一行
第一个参数auth_type元素设置为cookie
$cfg['Servers'][$i]['auth_type'] = 'cookie';
并且第二个连接更改为config(增加i变量)
$i++;
$cfg['Servers'][$i]['auth_type'] = 'config';
$cfg['Servers'][$i]['user'] = 'user';
$cfg['Servers'][$i]['password'] = 'password';
$cfg['Servers'][$i]['host'] = 'anotherhost';
$cfg['Servers'][$i]['connect_type'] = 'tcp';