将phpMyAdmin连接到VM上的数据库 - 数据库登录详细信息或服务器登录详细信息?

时间:2015-06-12 19:29:30

标签: mysql phpmyadmin

我在本地计算机(mac)上运行phpMyAdmin,我正在尝试将其连接到位于大学VM上的数据库

我一直关注this question上的一些问题及相关指南,但他们似乎提出了相互矛盾的建议

我是否应该使用我的数据库登录用户名和密码来获取以下内容或我的服务器用户名和密码(用于SSH,FileZilla)?

$cfg['Servers'][$i]['user']          = '';
$cfg['Servers'][$i]['password']      = '';

我遇到一些问题,通过phpmyadmin连接到远程数据库,并希望确保我在完成其他每个可能的问题时都有这个权利。感谢

1 个答案:

答案 0 :(得分:1)

PHPMyAdmin的config.inc.php中的以下变量是相关的:

$cfg['Servers'][$i]['host'] = '11.22.33.44';
$cfg['Servers'][$i]['port'] = '3306';
$cfg['Servers'][$i]['auth_type'] = 'config';
$cfg['Servers'][$i]['user'] = 'YourSQLUserName';
$cfg['Servers'][$i]['password'] = 'YourSQLPassword';
$cfg['Servers'][$i]['socket'] = '';
$cfg['Servers'][$i]['connect_type'] = 'tcp';

对于userpassword,您需要添加 MySQL 数据库凭据。 FTP和SSH在这里不相关。然后,为host您的远程服务器的IP地址。如果您的远程服务器已配置,请更改portsocketconnect_type的默认值。

注意:如果您遇到上述问题,则需要验证远程服务器是否接受远程连接(用于您的用户名)。您还需要确保本地防火墙允许您创建此类连接(即PHP可以进行远程连接)。 任何问题:请发布您可能遇到的问题的具体错误或说明。

如果您需要创建一个可以从任何IP远程访问的新MySQL用户,请使用@'%'作为主机名:

CREATE USER 'userName'@'%' IDENTIFIED BY 'passWord';
GRANT ALL PRIVILEGES ON * . * TO 'userName'@'%';

我测试了将PHPMyAdmin连接到我的新服务器,并且在目标服务器的iptables规则中实现了端口3306未打开以进行远程连接。如果端口对传入连接是关闭的,请按以下方式将其打开以进行连接(需要root访问权限):

iptables -A INPUT -p tcp -m tcp --dport 3306 -j ACCEPT
iptables-save | tee /etc/sysconfig/iptables
service iptables restart

除了上述两个考虑因素之外,还有其他可能的原因导致连接失败。远程MySQL配置,与目标服务器相关。由于数据库服务器是由你的大学托管的,你可能没有超级用户访问权限,并且可能只是想让你的网络管理员退出这个,如果你不能顺利完成它,尽管在PHPMyAdmin中直接使用了所有内容。

要验证它不是PHPMyAdmin问题,您可以尝试使用本地MySQL命令行工具连接到远程服务器;例如C:/server/mysql/bin/mysql.exe -h 11.22.33.44 -u myUser -p ...并输入密码。如果您无法获得响应,则表明它是网络或远程服务器问题。