Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/delphi/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
本地phpMyAdmin到远程mySQL_Mysql_Docker_Phpmyadmin_Ssh Tunnel - Fatal编程技术网

本地phpMyAdmin到远程mySQL

本地phpMyAdmin到远程mySQL,mysql,docker,phpmyadmin,ssh-tunnel,Mysql,Docker,Phpmyadmin,Ssh Tunnel,我有一个本地停靠的phpMyadmin和一个运行mySQL容器的远程停靠服务。端口3306未暴露在互联网上,我使用的是隧道: ssh -f user@remotedb -L 3306:127.0.0.1:3306 -N 使用原始mysql客户端,我可以使用127.0.0.1/user/password连接到sql服务。 phpMyadmin无法访问它。这是它的配置: pma: image: phpmyadmin/phpmyadmin container_name: pma envi

我有一个本地停靠的phpMyadmin和一个运行mySQL容器的远程停靠服务。端口3306未暴露在互联网上,我使用的是隧道:

ssh -f user@remotedb -L 3306:127.0.0.1:3306 -N
使用原始mysql客户端,我可以使用127.0.0.1/user/password连接到sql服务。 phpMyadmin无法访问它。这是它的配置:

pma:
  image: phpmyadmin/phpmyadmin
  container_name: pma
  environment:
    - PMA_ARBITRARY=1
    - 'PMA_ABSOLUTE_URI=https://pma.local/'
    - VIRTUAL_HOST=pma.local
  volumes:
    - './config.user.inc.php:/etc/phpmyadmin/config.user.inc.php'
  restart: always
以及自定义php文件:

$cfg['Servers'][$i]['verbose']       = 'Remote Server';
$cfg['Servers'][$i]['host']          = '127.0.0.1';
$cfg['Servers'][$i]['port']          = '3306';
$cfg['Servers'][$i]['connect_type']  = 'tcp';
$cfg['Servers'][$i]['extension']     = 'mysqli';
$cfg['Servers'][$i]['compress']      = FALSE;
$cfg['Servers'][$i]['auth_type']     = 'cookie';
$i++;

作为参考,我使用此docker pma图像:。我错过了什么?我需要其他端口吗?非常感谢。

问题是,在集装箱本身上,3306端口上没有任何监听。该端口在主机上无论如何都是可用的,因此我的快速而肮脏的解决方案是使用docker0接口的IP(通常
172.17.0.1

因此,在自定义pho文件中,您可能希望使用以下内容:

$cfg['Servers'][$i]['host']          = '172.17.0.1';

你试过了吗?对不起,我没有得到你的答案。127.0.0.1已经在使用sql客户机了,它说只接受来自“localhost”的连接。我该怎么改变呢?您是在mysql容器上引用docker0接口吗?实际上您是对的。。。关于隧道的最后一部分完全是错误的。很抱歉我再次修正了答案