我想配置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';
任何帮助都会有用,尤其是对这3个问题:
非常感谢你的帮助......
P上。 S.我已经在serverfault问了这个问题,但是没有人能够回答这个问题,我得到了一个没有任何解释的downvote。我希望stackoverflow上的某个人能够回答这个问题(或者告诉我我的问题有什么问题)。
答案 0 :(得分:0)
你说这个配置文件“仅适用于第一台服务器” - 这究竟是什么意思?尝试更改到其他服务器时是否出错?您是否期望在登录前提示您询问您要连接的服务器?我很好奇,因为这似乎对我有用,但界面与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,因为我觉得最容易使用。
答案 1 :(得分:0)
基于@Isaac Bennetch答案的解决方案是使用以下URL:
请注意,index.php不得包含在网址中,否则无法使用。
分析后,这是正在执行的代码:
如果你在这些地方添加调试,那么你可以检查使用了哪个服务器并查看"?server = 5"选择合适的服务器。