我无法通过本地 phpmyadmin 访问远程 mysql 服务器
Posted
技术标签:
【中文标题】我无法通过本地 phpmyadmin 访问远程 mysql 服务器【英文标题】:I can't access remote mysql server via local phpmyadmin 【发布时间】:2017-10-04 14:44:07 【问题描述】:我正在尝试通过我的本地 phpmyadmin 设置(从 xampp 安装)访问我的远程 mysql 服务器。这是我用于 phpmyadmin 的 config.inc.php 文件:
/* Authentication type and info */
$cfg['Servers'][$i]['auth_type'] = 'config';
$cfg['Servers'][$i]['user'] = 'remote-mysql-server-username';
$cfg['Servers'][$i]['password'] = 'remote-mysql-server-pass';
$cfg['Servers'][$i]['extension'] = 'mysqli';
$cfg['Servers'][$i]['AllowNoPassword'] = true;
// remote mysql server
$cfg['Servers'][$i]['verbose'] = 'remote mysql server';
$cfg['Servers'][$i]['host'] = 'some_website.com/';
$cfg['Servers'][$i]['port'] = '3306';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['compress'] = FALSE;
我收到此错误:
hpMyAdmin tried to connect to the MySQL server, and the server rejected the connection. You should check the host, username and password in your configuration and make sure that they correspond to the information given by the administrator of the MySQL server.
【问题讨论】:
明显的问题是服务器、端口、密码等是否正确。然后你能验证到 phpmyadmin 之外的数据库的连接(比如通过ncat
)吗?
是的,它们是正确的,因为我通过 Web 应用程序和 ssh 连接到我的 mysql 服务器..
【参考方案1】:
您要连接的远程 mysql 服务器必须配置为允许或接受除 localhost 以外的请求。 检查防火墙是否允许端口 3306(传入和传出)。
现在我们将升级情况:
1) 首先检查 mysql 配置的 my.ini 中的“bind-address”指令,它应该是 0.0.0.0 以允许来自任何 IP 地址的连接。
2) 其次,用户应该拥有我们正在访问的数据库的所有权限。
3) 第三个让 phpmyadmin 在 localhost 场景下工作,在你的 phpmyadmin 配置文件的末尾添加这个?>(tag):
/* Remote Server */
$i++;
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['auth_type'] = 'config';
$cfg['Servers'][$i]['host'] = 'myinstance.us-1.rds.amazonaws.com';//this is example enter your address
$cfg['Servers'][$i]['verbose'] = 'Remote Server Name';
$cfg['Servers'][$i]['user'] = '**********';
$cfg['Servers'][$i]['password'] = '**********';
现在登录 localhost 并从当前服务器下拉列表中选择您的服务器名称,phpmyadmin 将完成剩下的任务。
希望这会对你有所帮助。
【讨论】:
是的,它是端口 3306。我是 amazon linux ec2 服务并在控制台中检查以上是关于我无法通过本地 phpmyadmin 访问远程 mysql 服务器的主要内容,如果未能解决你的问题,请参考以下文章
使用本地 phpMyAdmin 通过 Xampp 连接远程数据库