gpt4 book ai didi

mysql - 本地 phpMyAdmin 到远程 mySQL

转载 作者:行者123 更新时间:2023-11-29 15:37:13 26 4
gpt4 key购买 nike

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

ssh -f user@remotedb -L 3306:127.0.0.1:3306 -N

使用原始 mysql 客户端,我可以使用以下命令连接到 sql 服务:127.0.0.1/user/password。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 镜像:https://github.com/phpmyadmin/docker 。我在这里缺少什么?我需要其他端口吗?非常感谢。

最佳答案

问题是容器本身没有任何监听端口 3306。无论如何,该端口在主机上都是可用的,所以我的快速解决方案是使用 docker0 接口(interface)的 IP(通常 >172.17.0.1)。

因此,在您的自定义 pho 文件中,您可能需要使用如下内容:

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

关于mysql - 本地 phpMyAdmin 到远程 mySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58121036/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com