【问题标题】:Using phpmyadmin for only remote server without having local mysql installation仅将 phpmyadmin 用于远程服务器,而无需安装本地 mysql
【发布时间】:2018-08-15 09:00:19
【问题描述】:

编辑:我的问题与现有问题不同,因为我需要一种无需将 mysql 安装到本地服务器的方法。请不要盲目地将重复的问题标签扔给问题。谢谢。


编辑2:确实这不是重复的,不像有些人仍然盲目坚持。在将自定义行添加到代码库后,我无需在服务器上安装 mysql-client 和 server 包即可连接到远程服务器,并通过 phpmyadmin 界面成功执行查询。我在 phpmyadmin github 存储库上为这个问题创建了一个issue,并添加了我的解决方案。如果删除了这个重复的标签,我将在这里分享我的解决方案。


问题:

我正在尝试连接远程 mysql 服务器,我已经手动下载了 phpmyadmin 并解压缩到自定义 /phpmyadmin 文件夹中。我已经配置了我的自定义 config.inc.php。

我没有自定义 mysql 安装,这不是首选选项。

相同的设置适用于我的 php-mysql 应用程序,但它不适用于 phpmyadmin,并且在尝试登录 phpmyadmin 时出现此错误:

#2002 - Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) - 服务器没有响应(或本地服务器的套接字配置不正确)。

/*
 * Generated configuration file
 * Generated by: phpMyAdmin 4.7.9 setup script
 * Date: Wed, 07 Mar 2018 08:09:19 +0000
 */

/* Servers configuration */
$i = 0;

/* Server: dev-staging [1] */
$i++;
$cfg['Servers'][$i]['verbose'] = 'dev-staging';
$cfg['Servers'][$i]['host'] = 'external_ip';
$cfg['Servers'][$i]['port'] = '3306';
$cfg['Servers'][$i]['socket'] = '';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['extension'] = 'mysqli';
$cfg['Servers'][$i]['compress'] = true;
$cfg['Servers'][$i]['auth_type'] = 'config';
$cfg['Servers'][$i]['user'] = 'dev_wp_user';
$cfg['Servers'][$i]['password'] = 'dev_password';

/* End of servers configuration */
$cfg['Servers'][$i]['AllowNoPassword'] = false;
$cfg['blowfish_secret'] = 'z{<F1!k=CjIVTpg)^wJq;StO?sL{F-^E';
$cfg['DefaultLang'] = 'en';
$cfg['ServerDefault'] = 1;
$cfg['UploadDir'] = '';
$cfg['SaveDir'] = '';
$cfg['connect_type'] = 'tcp';

【问题讨论】:

标签: php mysql phpmyadmin


【解决方案1】:

看起来 phpMyAdmin 无法使用您的 config.inc.php,而是尝试使用默认的 localhost 连接。这可能是由于文件开头缺少 php open 标记造成的。 phpMyAdmin 在配置文件处理过程中抑制输出和错误,因此如果出现问题,可能会很复杂。

【讨论】:

  • 感谢您的回答,尽管这不是解决我的问题的直接解决方案,但它帮助我意识到了问题所在。请查看github.com/phpmyadmin/phpmyadmin/issues/14065
  • @motto 我看了下代码,你可能需要修改getConnectionParams,因为phpMyAdmin无法正常加载配置文件。我会检查配置文件的位置。在我的情况下,它位于安装目录的根目录中,但在您打开的问题中,您写了关于 config/config.inc.php 的内容。也许配置的位置不正确。它也可能受 vendor_config.php 中的 CONFIG_DIR 影响。在我的情况下它是空的('')。我在 CentO 上使用 4.7.9。但无论如何,很高兴你找到了适合你的解决方案:)
  • 我尝试了这两个位置。根目录和内部配置文件夹。没有任何区别。
【解决方案2】:

我遇到了同样的问题并找到了正确的解决方案。

  1. 打开安装文件夹。
  2. 您将看到“config.sample.inc.php”
  3. 重命名为“config.inc.php”然后打开
  4. $cfg['Servers'][$i]['host'] 值更改为您的服务器地址。 就我而言,它是 192.168.1.102(我正在使用 nodejs 和 mysql)
  5. 然后重新启动 xampp、wampp (Apache) 或任何其他 php 服务器。
  6. 打开http://localhost/phpMyAdmin/index.php

【讨论】:

    猜你喜欢
    • 2017-10-04
    • 2014-09-17
    • 2011-05-24
    • 1970-01-01
    • 2017-03-10
    • 2020-01-26
    • 2015-04-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多