我想将phpMyAdmin配置为访问多个mysql服务器,并使用“ http auth”登录名(使用mysql数据库登录名)。但是,它似乎不起作用,我不确定是否可行?当然,我首先阅读了许多文档,论坛和网页,但没有任何相关信息。
这是我的配置(仅适用于第一台服务器):
/* Server: svrdb01 [1] */
$i++;
$cfg['Servers'][$i]['verbose'] = 'svrdb01';
$cfg['Servers'][$i]['host'] = '10.128.1.1';
$cfg['Servers'][$i]['port'] = '';
$cfg['Servers'][$i]['socket'] = '';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['extension'] = 'mysqli';
$cfg['Servers'][$i]['auth_type'] = 'http';
$cfg['Servers'][$i]['user'] = '';
$cfg['Servers'][$i]['password'] = '';
$cfg['Servers'][$i]['auth_http_realm'] = 'Login MySQL 1';
/* Server: svrdb02 [2] */
$i++;
$cfg['Servers'][$i]['verbose'] = 'svrdb02';
$cfg['Servers'][$i]['host'] = '10.128.1.2';
$cfg['Servers'][$i]['port'] = '';
$cfg['Servers'][$i]['socket'] = '';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['extension'] = 'mysqli';
$cfg['Servers'][$i]['auth_type'] = 'http';
$cfg['Servers'][$i]['user'] = '';
$cfg['Servers'][$i]['password'] = '';
$cfg['Servers'][$i]['auth_http_realm'] = 'Login MySQL 2';
/* Server: svrdb04 [3] */
$i++;
$cfg['Servers'][$i]['verbose'] = 'svrdb04';
$cfg['Servers'][$i]['host'] = '10.128.1.4';
$cfg['Servers'][$i]['port'] = '';
$cfg['Servers'][$i]['socket'] = '';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['extension'] = 'mysqli';
$cfg['Servers'][$i]['auth_type'] = 'http';
$cfg['Servers'][$i]['user'] = '';
$cfg['Servers'][$i]['password'] = '';
$cfg['Servers'][$i]['auth_http_realm'] = 'Login MySQL 3';
任何帮助都是有用的,尤其是在以下三个问题上:
是否可以使用该逻辑配置phpMyAdmin?
如果是,phpMyAdmin会在每个连续的服务器上尝试登录直到成功吗?
如果没有,还有另一种方法让phpMyAdmin在多个服务器上使用MySQL登录吗?
非常感谢你的帮助...
P. S.我已经在serverfault上问过这个问题,但是没有人能够回答这个问题,我得到一票否决,没有任何解释。我希望使用stackoverflow的人能够回答这个问题(或告诉我我的问题出了什么问题)。
最佳答案
您说此配置文件“仅适用于第一台服务器”-究竟是什么意思?尝试切换到其他服务器时,您会收到错误消息吗?您是否希望在登录前提示您询问要连接到哪个服务器?我很好奇,因为这似乎对我有用,但是该接口与auth_type cookie使用的接口不同,这可能会造成混淆。
使用auth_type cookie,首页上的登录表单具有用于用户名,密码和用于选择主机的下拉列表的字段。使用auth_type http,您将获得HTTP浏览器登录页面的用户名和密码,并且必须在此处输入第一台服务器的用户名或密码。然后,一旦连接到第一台服务器,您就可以使用导航窗格中的“服务器”下拉列表来选择另一台服务器(此下拉列表也与其他auth_types一起出现)。我发现这样做不太方便,因为在连接到其他服务器之前,我必须先连接到第一台服务器,所以我使用auth_type cookie(这也使我可以注销,并在出现问题时提供更好的错误报告)。
您可以通过输入customized URL(或添加书签)来强制服务器。像https://localhost/phpmyadmin/index.php?server=5之类的东西,但即使如此,在我实际上不能执行任何操作之前,这似乎还需要同时对两个服务器(1和5)进行身份验证。
要直接回答您的问题:
是否可以使用该逻辑配置phpMyAdmin?
当然可以。
如果是,phpMyAdmin会在每个连续的服务器上尝试登录直到成功吗?
否,您必须登录到第一台服务器,然后跳到您要连接的另一台服务器。
如果没有,还有另一种方法让phpMyAdmin在多个服务器上使用MySQL登录吗?
auth_type cookie最好,但是即使您知道限制并愿意解决这些限制,即使使用auth_type http也可以。
总之,我建议切换到auth_type cookie,因为我发现它最容易使用。
关于mysql - 使用多个数据库和http auth配置phpMyAdmin?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42007881/