【问题标题】:Issues connecting phpmyadmin to multiple instances将 phpmyadmin 连接到多个实例的问题
【发布时间】:2017-11-09 23:08:32
【问题描述】:

我正在使用 mariadb (distrib 5.5.56) 在 CentOS7 上重建数据库服务器。原始数据库服务器是 Ubuntu 12.04,使用 mysql (distrib 5.5.29)。原服务器有多个实例(运行在不同的端口),用户可以在phpmyadmin登录页面选择服务器,使用phpmyadmin登录不同的数据库实例。

在将数据库导入新服务器之前,我正在尝试在新服务器上进行类似的设置。我试图保持大多数路径相同(my.cnf 有点不同,因为在一台服务器上使用 mysql 而在另一台服务器上使用 mariadb 但数据库位置相同)

我相信我的多个实例运行正常('mysqld_multi report' 报告两个实例都运行正常,当指定端口时,我可以通过'msql' 命令连接到这两个实例)。

我让 phpmyadmin 为默认的 mariadb 数据库工作(在设置 my.cnf 中的其他实例之前这样做)所以我知道 phpmyadmin 工作正常。我已经修改了文件 /etc/phpMyAdmin/config.inc.php 以通过从原始服务器复制文件来启用连接到多个实例。 我只是无法登录到我配置的实际实例。如果 mariadb 服务正在运行,那么它会在指定任一实例而不是我想要的实际实例时将我登录到默认的 mariadb 数据库。当我停止 mariadb 服务时,虽然我可以使用 'mysql --port=xxxx.... 命令连接,但 phpmyadmin 只是给了我错误'无法登录到 MySQL 服务器'。

我只是不知道这什么时候不起作用。我怀疑它在某处的配置文件中是微不足道的,但无法弄清楚它是什么。我已经仔细检查了诸如 my.cnf 和 config.inc.php 之类的内容,但看不出它们有任何明显的问题。

任何帮助将不胜感激!

干杯,

提姆

【问题讨论】:

    标签: phpmyadmin mariadb centos7


    【解决方案1】:

    我相信我已经弄明白了。它似乎是事物的组合。在 config.inc.php 中,我指定了 host = 'localhost',因为它是在原始 Ubtuntu mysql 服务器上配置的。一旦我更改为“127.0.0.1”,phpmyadmin 就能够连接,但这不是唯一的问题。另一个问题是 selinux 还需要允许某些事情(请参阅https://community.spiceworks.com/topic/693552-mariadb-phpmyadmin-selinux-woes - 参考 Jesse1648 cmets - 还需要使用 -P 来永久设置)。通过这 2 项更改,我现在可以连接到不同端口上的实例。

    我实际上不明白的是,我试图尽可能多地从原始服务器复制配置,因为它有效。为什么在 config.inc.php 中指定“localhost”(而不是“127.0.0.1”)时它实际上有效,这有点令人费解(我知道如果在指定主机名时使用“localhost”,mysql 命令会忽略端口)。重要的是它有效!

    【讨论】:

      猜你喜欢
      • 2020-08-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多