将 phpmyadmin 连接到多个实例的问题

Issues connecting phpmyadmin to multiple instances

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

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

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

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

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

如有任何帮助,我们将不胜感激!

干杯,

蒂姆

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

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