我在本地机器(mac)上运行phpMyAdmin,并试图将它连接到位于大学VM上的数据库。
我一直在遵循一些关于this question的问题和链接指南,但它们似乎给出了相互矛盾的建议。
下面是我的数据库登录用户名和密码,还是我的服务器用户名和密码(用于SSH,FileZilla)?
$cfg['Servers'][$i]['user'] = '';
$cfg['Servers'][$i]['password'] = '';在通过phpmyadmin连接到远程DB时,我遇到了一些问题,并且希望在讨论其他可能的问题时确保我的权限正确。谢谢
发布于 2015-06-14 19:58:39
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';对于user和password,您需要添加MySQL数据库凭据。FTP和SSH在这里不相关。然后,对于host您的远程服务器的IP地址。如果您的远程服务器以其他方式配置,则更改port、socket和connect_type的默认值。
注意:如果您有上述问题,您需要验证远程服务器是否接受远程连接(对于您的用户名)。您还需要确保本地防火墙允许您创建这样的连接(即。PHP可以建立远程连接)。任何问题:请张贴您可能遇到的问题的具体错误或描述。
如果需要创建具有来自任何IP的远程访问的新MySQL用户,请使用@'%'作为主机名:
CREATE USER 'userName'@'%' IDENTIFIED BY 'passWord';
GRANT ALL PRIVILEGES ON * . * TO 'userName'@'%';我用PHPMyAdmin对我的新服务器进行了连接测试,发现在目标服务器的iptables规则下,端口3306不是为远程连接打开的。如果端口对传入连接关闭,请按以下方式为连接打开它(需要根访问):
iptables -A INPUT -p tcp -m tcp --dport 3306 -j ACCEPT
iptables-save | tee /etc/sysconfig/iptables
service iptables restart除了上述两个考虑之外,还有其他可能导致连接失败的原因。远程MySQL配置,与目标服务器相关。由于DB服务器是由您所在的学院托管的,所以您可能没有根访问权限,如果您在PHPMyAdmin中的所有内容都不能正常运行,您可能只想从网络管理中删除它。
为了验证这不是PHPMyAdmin问题,您可以尝试使用本地MySQL命令行工具连接到远程服务器;例如,C:/server/mysql/bin/mysql.exe -h 11.22.33.44 -u myUser -p .输入密码。如果您无法得到响应,这是一个网络或远程服务器问题。
https://stackoverflow.com/questions/30810817
复制相似问题