Как настроить phpMyAdmin для доступа к нескольким серверам?

Что такое способ Ubuntu для настройки phpMyAdmin, чтобы я мог использовать его для администрирования нескольких серверов MySQL? Параметры базы данных установлены в /etc/dbconfig-common/phpmyadmin.conf, но там есть только место для параметров подключения для одного сервера. Я мог бы взломать его на /etc/phpmyadmin/config-db.php и /etc/phpmyadmin/config.inc.php, но я предполагаю, что должен быть более элегантный способ.

13
задан 4 January 2011 в 13:43

60 ответов

Согласно документации phpMyAdmin, вы можете определить несколько серверов в массиве $cfg['Servers'], определенных в файле config.inc.php.

1
ответ дан 25 July 2018 в 22:39
  • 1
    В общей установке phpMyAdmin, да. Но Ubuntu имеет свои собственные файлы конфигурации для создания этой части файла config.inc.php, и я хочу знать способ Ubuntu для его настройки без необходимости переопределять конфигурацию Ubuntu. – Mike Scott 4 January 2011 в 13:57
  • 2
    Понимаю. Комментарии в файле говорят You can regenerate it using: dpkg-reconfigure -plow phpmyadmin. Думаю, вы это пробовали? (теперь это не будет сделано в производственной системе). Помимо этого ... при перезаписывании вручную необходимо обновить файлы вручную. – Carsten Thiel 4 January 2011 в 14:06
  • 3
    Да, я могу восстановить файл config-db.php, но файл конфигурации, из которого он ссылается на параметры подключения к базе данных (/etc/dbconfig-common/phpmyadmin.conf), имеет только место для настройки одного сервера базы данных. Я хочу знать, как настроить несколько серверов баз данных. – Mike Scott 4 January 2011 в 14:21
  • 4
    + Майк Скотт, я не мог получить $ cfg ['Servers'] для работы в файле conf.d /, но когда я положил его в config.inc.php, он работал нормально. Я думаю, что есть некоторая ошибка, которая включает в себя предложение include. – flickerfly 1 March 2016 в 21:09

Я думаю, что это самый точный способ сделать это:

Сначала установите пароль:

sudo htpasswd -c /etc/phpmyadmin/htpasswd.setup admin

Затем отключите защиту:

sudo pma-configure

Затем перейдите по адресу http: // yourserver / phpmyadmin / setup (здесь браузеры запрашивают auth, пользователь - admin, а пароль - то, что вы пишете в первой команде), с помощью этого мастера, который вы настраиваете для своих серверов, безопасность снова:

sudo pma-secure
4
ответ дан 25 July 2018 в 22:39
  • 1
    Файл конфигурации, сгенерированный этим методом, хранится в /var/lib/phpmyadmin/config.inc.php. – Michael Lawton 9 May 2014 в 22:41
  • 2
    Этот файл конфигурации, сгенерированный этим методом, затем включается в основной файл конфигурации по адресу /etc/phpmyadmin/config.inc.php. Сценарий установки phpMyAdmin не работает на Ubuntu и не загружает существующую конфигурацию (заставляя вас начинать с нуля каждый раз, когда вы ее настраиваете). Также конфигурация, которую он создает, включает такие вещи, как секрет blowfish, который затем перезаписывается основным файлом конфигурации. Вы обнаружите, что первый сервер (1) перезаписывается основным файлом конфигурации, который использует значения сервера из config-db.php. – Michael Lawton 11 May 2014 в 21:22

Довольно старый вопрос, но все еще актуальный для поисков.

phpMyAdmin использует простой PHP для файлов конфигурации и массив $cfg['Servers'] для получения настроенных серверов.

путь - добавить новый файл конфигурации в /etc/phpmyadmin/conf.d для каждого сервера, который вы хотите добавить. Это необходимо только для того, чтобы закончить имя файла в .php, чтобы включить их, но рекомендуется использовать your_new_server.inc.php для согласованности.

Минимальное содержимое для данного файла конфигурации будет:

$cfg['Servers'][2]['host'] = 'THE_HOST'; $cfg['Servers'][2]['user'] = 'THE_USER'; $cfg['Servers'][2]['password'] = 'THE_PASSWORD';

Как указано выше, вы можете проверить /usr/share/doc/phpmyadmin/examples/config.manyhosts.inc.php на наличие дополнительных параметров.

Важно: вам нужно увеличить индекс (2) массива для каждого нового файла и избежать используя 1, если вы хотите продолжать подключение к localhost.

Если парень (ы), который пакет phpMyAdmin думал об этом, они могли бы добавить добавочную переменную $i в foreach, которая включает в себя файлы из conf.d, так что вы можете просто использовать его в качестве индекса и не беспокоиться о необходимости его увеличения вручную, но, к сожалению, это не так. Вы можете сделать это сами, хотя.

6
ответ дан 25 July 2018 в 22:39
  • 1
    Я попытался разместить минимальный контент, указанный в файле /etc/phpmyadmin/conf.d/slaveA.conf.php, и просто увидел содержимое в верхней части страницы PHPMyAdmin. Когда я отправил то же самое содержимое в конец config.inc.php, он сработал. Кажется, что-то в этом вопросе. В противном случае это выглядит как ожидаемый способ создания настраиваемой конфигурации, которая не будет убита при обновлениях. – flickerfly 1 March 2016 в 21:07
  • 2
    @flickerfly, поздний ответ, но код в файлах конфигурации должен начинаться с <?php, как и любой другой скрипт PHP. – Marc 15 December 2016 в 19:34

Основной файл конфигурации хранится в /etc/phpmyadmin/config.inc.php. Этот файл содержит секрет

Blowfish из /var/lib/phpmyadmin/blowfish_secret.inc.php Сгенерированный конфиг из сценария установки phpMyAdmin (метод diegueus9) /var/lib/phpmyadmin/config.inc.php DB из /etc/phpmyadmin/config-db.php, которые сгенерированы из /etc/dbconfig-common/phpmyadmin.conf на /usr/sbin/dbconfig-generate-include. /etc/dbconfig-common/phpmyadmin.conf можно изменить, используя dpkg-reconfigure -plow phpmyadmin Дополнительные файлы конфигурации из /etc/phpmyadmin/conf.d/*.php

Некоторые примеры фрагментов конфигурации находятся в /usr/share/doc/phpmyadmin/examples, включая config.manyhosts.inc.php. Этот файл можно добавить в /etc/phpmyadmin/conf.d. Он работает путем сброса переменной i назад до 1 перед созданием любых хостов, чтобы он переопределял набор узлов в /etc/phpmyadmin/config.inc.php.

Если вы хотите сделать более сложную конфигурацию, вы, вероятно, захотите измените файл /etc/phpmyadmin/config.inc.php и, возможно, добавьте другие расширения конфигурации, используя /etc/phpmyadmin/conf.d.

Чтобы добавить поддержку дополнительных конфигураций в старые файлы конфигурации, вы можете создать каталог /etc/phpmyadmin/conf.d, а затем добавить ниже код PHP в нижней части /etc/phpmyadmin/config.inc.php:

/* Support additional configurations */ foreach (glob('/etc/phpmyadmin/conf.d/*.php') as $filename) { include($filename); }
1
ответ дан 25 July 2018 в 22:39

Я предположил следующее:

/etc/phpmyadmin/ было бы самым логичным местом для добавления config /etc/phpmyadmin/config-db.php - это место для конфигурации по умолчанию (local?). Это потому, что он по умолчанию, один db только /etc/phpmyadmin/config.inc.php читает базу данных по умолчанию, поэтому она имеет один. По крайней мере, этот используется, поэтому у вас есть база данных. Если что-то меняется в вашей конфигурации, изменяется config-db.php, поэтому «локальные» изменения в вашем файле не изменяются

. Поэтому я пришел к выводу, что добавление дополнительного сервера под этой частью:

/* Configure according to dbconfig-common if enabled */ if (!empty($dbname)) { //reading from config-db.php } //$i++ was allready done in if above //Adding extra servers $cfg['Servers'][$i]['host'] = 'serverhost.host.tld'; $cfg['Servers'][$i]['extension'] = 'mysqli'; //...etc

Это выглядит как лучшее место.

2
ответ дан 25 July 2018 в 22:39

В этом руководстве объясняется, как вы можете управлять несколькими серверами MySQL из одной установки phpMyAdmin. По соображениям безопасности связь между phpMyAdmin и любым удаленным сервером MySQL использует SSL-шифрование

0
ответ дан 25 July 2018 в 22:39
  • 1
    Это не говорит мне, как это сделать, используя способ настройки Ubuntu, поэтому он вообще не отвечает на вопрос. – Mike Scott 21 September 2012 в 15:14

Согласно документации phpMyAdmin, вы можете определить несколько серверов в массиве $cfg['Servers'], определенных в файле config.inc.php.

1
ответ дан 26 July 2018 в 23:30
  • 1
    В общей установке phpMyAdmin, да. Но Ubuntu имеет свои собственные файлы конфигурации для создания этой части файла config.inc.php, и я хочу знать способ Ubuntu для его настройки без необходимости переопределять конфигурацию Ubuntu. – Mike Scott 4 January 2011 в 13:57
  • 2
    Понимаю. Комментарии в файле говорят You can regenerate it using: dpkg-reconfigure -plow phpmyadmin. Думаю, вы это пробовали? (теперь это не будет сделано в производственной системе). Помимо этого ... при перезаписывании вручную необходимо обновить файлы вручную. – Carsten Thiel 4 January 2011 в 14:06
  • 3
    Да, я могу восстановить файл config-db.php, но файл конфигурации, из которого он ссылается на параметры подключения к базе данных (/etc/dbconfig-common/phpmyadmin.conf), имеет только место для настройки одного сервера базы данных. Я хочу знать, как настроить несколько серверов баз данных. – Mike Scott 4 January 2011 в 14:21
  • 4
    + Майк Скотт, я не мог получить $ cfg ['Servers'] для работы в файле conf.d /, но когда я положил его в config.inc.php, он работал нормально. Я думаю, что есть некоторая ошибка, которая включает в себя предложение include. – flickerfly 1 March 2016 в 21:09

Я думаю, что это самый точный способ сделать это:

Сначала установите пароль:

sudo htpasswd -c /etc/phpmyadmin/htpasswd.setup admin

Затем отключите защиту:

sudo pma-configure

Затем перейдите по адресу http: // yourserver / phpmyadmin / setup (здесь браузеры запрашивают auth, пользователь - admin, а пароль - то, что вы пишете в первой команде), с помощью этого мастера, который вы настраиваете для своих серверов, безопасность снова:

sudo pma-secure
4
ответ дан 26 July 2018 в 23:30
  • 1
    Файл конфигурации, сгенерированный этим методом, хранится в /var/lib/phpmyadmin/config.inc.php. – Michael Lawton 9 May 2014 в 22:41
  • 2
    Этот файл конфигурации, сгенерированный этим методом, затем включается в основной файл конфигурации по адресу /etc/phpmyadmin/config.inc.php. Сценарий установки phpMyAdmin не работает на Ubuntu и не загружает существующую конфигурацию (заставляя вас начинать с нуля каждый раз, когда вы ее настраиваете). Также конфигурация, которую он создает, включает такие вещи, как секрет blowfish, который затем перезаписывается основным файлом конфигурации. Вы обнаружите, что первый сервер (1) перезаписывается основным файлом конфигурации, который использует значения сервера из config-db.php. – Michael Lawton 11 May 2014 в 21:22

Довольно старый вопрос, но все еще актуальный для поисков.

phpMyAdmin использует простой PHP для файлов конфигурации и массив $cfg['Servers'] для получения настроенных серверов.

путь - добавить новый файл конфигурации в /etc/phpmyadmin/conf.d для каждого сервера, который вы хотите добавить. Это необходимо только для того, чтобы закончить имя файла в .php, чтобы включить их, но рекомендуется использовать your_new_server.inc.php для согласованности.

Минимальное содержимое для данного файла конфигурации будет:

$cfg['Servers'][2]['host'] = 'THE_HOST'; $cfg['Servers'][2]['user'] = 'THE_USER'; $cfg['Servers'][2]['password'] = 'THE_PASSWORD';

Как указано выше, вы можете проверить /usr/share/doc/phpmyadmin/examples/config.manyhosts.inc.php на наличие дополнительных параметров.

Важно: вам нужно увеличить индекс (2) массива для каждого нового файла и избежать используя 1, если вы хотите продолжать подключение к localhost.

Если парень (ы), который пакет phpMyAdmin думал об этом, они могли бы добавить добавочную переменную $i в foreach, которая включает в себя файлы из conf.d, так что вы можете просто использовать его в качестве индекса и не беспокоиться о необходимости его увеличения вручную, но, к сожалению, это не так. Вы можете сделать это сами, хотя.

6
ответ дан 26 July 2018 в 23:30
  • 1
    Я попытался разместить минимальный контент, указанный в файле /etc/phpmyadmin/conf.d/slaveA.conf.php, и просто увидел содержимое в верхней части страницы PHPMyAdmin. Когда я отправил то же самое содержимое в конец config.inc.php, он сработал. Кажется, что-то в этом вопросе. В противном случае это выглядит как ожидаемый способ создания настраиваемой конфигурации, которая не будет убита при обновлениях. – flickerfly 1 March 2016 в 21:07
  • 2
    @flickerfly, поздний ответ, но код в файлах конфигурации должен начинаться с <?php, как и любой другой скрипт PHP. – Marc 15 December 2016 в 19:34

Основной файл конфигурации хранится в /etc/phpmyadmin/config.inc.php. Этот файл содержит секрет

Blowfish из /var/lib/phpmyadmin/blowfish_secret.inc.php Сгенерированный конфиг из сценария установки phpMyAdmin (метод diegueus9) /var/lib/phpmyadmin/config.inc.php DB из /etc/phpmyadmin/config-db.php, которые сгенерированы из /etc/dbconfig-common/phpmyadmin.conf на /usr/sbin/dbconfig-generate-include. /etc/dbconfig-common/phpmyadmin.conf можно изменить, используя dpkg-reconfigure -plow phpmyadmin Дополнительные файлы конфигурации из /etc/phpmyadmin/conf.d/*.php

Некоторые примеры фрагментов конфигурации находятся в /usr/share/doc/phpmyadmin/examples, включая config.manyhosts.inc.php. Этот файл можно добавить в /etc/phpmyadmin/conf.d. Он работает путем сброса переменной i назад до 1 перед созданием любых хостов, чтобы он переопределял набор узлов в /etc/phpmyadmin/config.inc.php.

Если вы хотите сделать более сложную конфигурацию, вы, вероятно, захотите измените файл /etc/phpmyadmin/config.inc.php и, возможно, добавьте другие расширения конфигурации, используя /etc/phpmyadmin/conf.d.

Чтобы добавить поддержку дополнительных конфигураций в старые файлы конфигурации, вы можете создать каталог /etc/phpmyadmin/conf.d, а затем добавить ниже код PHP в нижней части /etc/phpmyadmin/config.inc.php:

/* Support additional configurations */ foreach (glob('/etc/phpmyadmin/conf.d/*.php') as $filename) { include($filename); }
1
ответ дан 26 July 2018 в 23:30

Я предположил следующее:

/etc/phpmyadmin/ было бы самым логичным местом для добавления config /etc/phpmyadmin/config-db.php - это место для конфигурации по умолчанию (local?). Это потому, что он по умолчанию, один db только /etc/phpmyadmin/config.inc.php читает базу данных по умолчанию, поэтому она имеет один. По крайней мере, этот используется, поэтому у вас есть база данных. Если что-то меняется в вашей конфигурации, изменяется config-db.php, поэтому «локальные» изменения в вашем файле не изменяются

. Поэтому я пришел к выводу, что добавление дополнительного сервера под этой частью:

/* Configure according to dbconfig-common if enabled */ if (!empty($dbname)) { //reading from config-db.php } //$i++ was allready done in if above //Adding extra servers $cfg['Servers'][$i]['host'] = 'serverhost.host.tld'; $cfg['Servers'][$i]['extension'] = 'mysqli'; //...etc

Это выглядит как лучшее место.

2
ответ дан 26 July 2018 в 23:30

В этом руководстве объясняется, как вы можете управлять несколькими серверами MySQL из одной установки phpMyAdmin. По соображениям безопасности связь между phpMyAdmin и любым удаленным сервером MySQL использует SSL-шифрование

0
ответ дан 26 July 2018 в 23:30
  • 1
    Это не говорит мне, как это сделать, используя способ настройки Ubuntu, поэтому он вообще не отвечает на вопрос. – Mike Scott 21 September 2012 в 15:14

Согласно документации phpMyAdmin, вы можете определить несколько серверов в массиве $cfg['Servers'], определенных в файле config.inc.php.

1
ответ дан 31 July 2018 в 10:45
  • 1
    В общей установке phpMyAdmin, да. Но Ubuntu имеет свои собственные файлы конфигурации для создания этой части файла config.inc.php, и я хочу знать способ Ubuntu для его настройки без необходимости переопределять конфигурацию Ubuntu. – Mike Scott 4 January 2011 в 13:57
  • 2
    Понимаю. Комментарии в файле говорят You can regenerate it using: dpkg-reconfigure -plow phpmyadmin. Думаю, вы это пробовали? (теперь это не будет сделано в производственной системе). Помимо этого ... при перезаписывании вручную необходимо обновить файлы вручную. – Carsten Thiel 4 January 2011 в 14:06
  • 3
    Да, я могу восстановить файл config-db.php, но файл конфигурации, из которого он ссылается на параметры подключения к базе данных (/etc/dbconfig-common/phpmyadmin.conf), имеет только место для настройки одного сервера базы данных. Я хочу знать, как настроить несколько серверов баз данных. – Mike Scott 4 January 2011 в 14:21
  • 4
    + Майк Скотт, я не мог получить $ cfg ['Servers'] для работы в файле conf.d /, но когда я положил его в config.inc.php, он работал нормально. Я думаю, что есть некоторая ошибка, которая включает в себя предложение include. – flickerfly 1 March 2016 в 21:09

Я думаю, что это самый точный способ сделать это:

Сначала установите пароль:

sudo htpasswd -c /etc/phpmyadmin/htpasswd.setup admin

Затем отключите защиту:

sudo pma-configure

Затем перейдите по адресу http: // yourserver / phpmyadmin / setup (здесь браузеры запрашивают auth, пользователь - admin, а пароль - то, что вы пишете в первой команде), с помощью этого мастера, который вы настраиваете для своих серверов, безопасность снова:

sudo pma-secure
4
ответ дан 31 July 2018 в 10:45
  • 1
    Файл конфигурации, сгенерированный этим методом, хранится в /var/lib/phpmyadmin/config.inc.php. – Michael Lawton 9 May 2014 в 22:41
  • 2
    Этот файл конфигурации, сгенерированный этим методом, затем включается в основной файл конфигурации по адресу /etc/phpmyadmin/config.inc.php. Сценарий установки phpMyAdmin не работает на Ubuntu и не загружает существующую конфигурацию (заставляя вас начинать с нуля каждый раз, когда вы ее настраиваете). Также конфигурация, которую он создает, включает такие вещи, как секрет blowfish, который затем перезаписывается основным файлом конфигурации. Вы обнаружите, что первый сервер (1) перезаписывается основным файлом конфигурации, который использует значения сервера из config-db.php. – Michael Lawton 11 May 2014 в 21:22

Довольно старый вопрос, но все еще актуальный для поисков.

phpMyAdmin использует простой PHP для файлов конфигурации и массив $cfg['Servers'] для получения настроенных серверов.

путь - добавить новый файл конфигурации в /etc/phpmyadmin/conf.d для каждого сервера, который вы хотите добавить. Это необходимо только для того, чтобы закончить имя файла в .php, чтобы включить их, но рекомендуется использовать your_new_server.inc.php для согласованности.

Минимальное содержимое для данного файла конфигурации будет:

$cfg['Servers'][2]['host'] = 'THE_HOST'; $cfg['Servers'][2]['user'] = 'THE_USER'; $cfg['Servers'][2]['password'] = 'THE_PASSWORD';

Как указано выше, вы можете проверить /usr/share/doc/phpmyadmin/examples/config.manyhosts.inc.php на наличие дополнительных параметров.

Важно: вам нужно увеличить индекс (2) массива для каждого нового файла и избежать используя 1, если вы хотите продолжать подключение к localhost.

Если парень (ы), который пакет phpMyAdmin думал об этом, они могли бы добавить добавочную переменную $i в foreach, которая включает в себя файлы из conf.d, так что вы можете просто использовать его в качестве индекса и не беспокоиться о необходимости его увеличения вручную, но, к сожалению, это не так. Вы можете сделать это сами, хотя.

6
ответ дан 31 July 2018 в 10:45
  • 1
    Я попытался разместить минимальный контент, указанный в файле /etc/phpmyadmin/conf.d/slaveA.conf.php, и просто увидел содержимое в верхней части страницы PHPMyAdmin. Когда я отправил то же самое содержимое в конец config.inc.php, он сработал. Кажется, что-то в этом вопросе. В противном случае это выглядит как ожидаемый способ создания настраиваемой конфигурации, которая не будет убита при обновлениях. – flickerfly 1 March 2016 в 21:07
  • 2
    @flickerfly, поздний ответ, но код в файлах конфигурации должен начинаться с <?php, как и любой другой скрипт PHP. – Marc 15 December 2016 в 19:34

Основной файл конфигурации хранится в /etc/phpmyadmin/config.inc.php. Этот файл содержит секрет

Blowfish из /var/lib/phpmyadmin/blowfish_secret.inc.php Сгенерированный конфиг из сценария установки phpMyAdmin (метод diegueus9) /var/lib/phpmyadmin/config.inc.php DB из /etc/phpmyadmin/config-db.php, которые сгенерированы из /etc/dbconfig-common/phpmyadmin.conf на /usr/sbin/dbconfig-generate-include. /etc/dbconfig-common/phpmyadmin.conf можно изменить, используя dpkg-reconfigure -plow phpmyadmin Дополнительные файлы конфигурации из /etc/phpmyadmin/conf.d/*.php

Некоторые примеры фрагментов конфигурации находятся в /usr/share/doc/phpmyadmin/examples, включая config.manyhosts.inc.php. Этот файл можно добавить в /etc/phpmyadmin/conf.d. Он работает путем сброса переменной i назад до 1 перед созданием любых хостов, чтобы он переопределял набор узлов в /etc/phpmyadmin/config.inc.php.

Если вы хотите сделать более сложную конфигурацию, вы, вероятно, захотите измените файл /etc/phpmyadmin/config.inc.php и, возможно, добавьте другие расширения конфигурации, используя /etc/phpmyadmin/conf.d.

Чтобы добавить поддержку дополнительных конфигураций в старые файлы конфигурации, вы можете создать каталог /etc/phpmyadmin/conf.d, а затем добавить ниже код PHP в нижней части /etc/phpmyadmin/config.inc.php:

/* Support additional configurations */ foreach (glob('/etc/phpmyadmin/conf.d/*.php') as $filename) { include($filename); }
1
ответ дан 31 July 2018 в 10:45

Я предположил следующее:

/etc/phpmyadmin/ было бы самым логичным местом для добавления config /etc/phpmyadmin/config-db.php - это место для конфигурации по умолчанию (local?). Это потому, что он по умолчанию, один db только /etc/phpmyadmin/config.inc.php читает базу данных по умолчанию, поэтому она имеет один. По крайней мере, этот используется, поэтому у вас есть база данных. Если что-то меняется в вашей конфигурации, изменяется config-db.php, поэтому «локальные» изменения в вашем файле не изменяются

. Поэтому я пришел к выводу, что добавление дополнительного сервера под этой частью:

/* Configure according to dbconfig-common if enabled */ if (!empty($dbname)) { //reading from config-db.php } //$i++ was allready done in if above //Adding extra servers $cfg['Servers'][$i]['host'] = 'serverhost.host.tld'; $cfg['Servers'][$i]['extension'] = 'mysqli'; //...etc

Это выглядит как лучшее место.

2
ответ дан 31 July 2018 в 10:45

В этом руководстве объясняется, как вы можете управлять несколькими серверами MySQL из одной установки phpMyAdmin. По соображениям безопасности связь между phpMyAdmin и любым удаленным сервером MySQL использует SSL-шифрование

0
ответ дан 31 July 2018 в 10:45
  • 1
    Это не говорит мне, как это сделать, используя способ настройки Ubuntu, поэтому он вообще не отвечает на вопрос. – Mike Scott 21 September 2012 в 15:14

Согласно документации phpMyAdmin, вы можете определить несколько серверов в массиве $cfg['Servers'], определенных в файле config.inc.php.

1
ответ дан 31 July 2018 в 11:50
  • 1
    В общей установке phpMyAdmin, да. Но Ubuntu имеет свои собственные файлы конфигурации для создания этой части файла config.inc.php, и я хочу знать способ Ubuntu для его настройки без необходимости переопределять конфигурацию Ubuntu. – Mike Scott 4 January 2011 в 13:57
  • 2
    Понимаю. Комментарии в файле говорят You can regenerate it using: dpkg-reconfigure -plow phpmyadmin. Думаю, вы это пробовали? (теперь это не будет сделано в производственной системе). Помимо этого ... при перезаписывании вручную необходимо обновить файлы вручную. – Carsten Thiel 4 January 2011 в 14:06
  • 3
    Да, я могу восстановить файл config-db.php, но файл конфигурации, из которого он ссылается на параметры подключения к базе данных (/etc/dbconfig-common/phpmyadmin.conf), имеет только место для настройки одного сервера базы данных. Я хочу знать, как настроить несколько серверов баз данных. – Mike Scott 4 January 2011 в 14:21
  • 4
    + Майк Скотт, я не мог получить $ cfg ['Servers'] для работы в файле conf.d /, но когда я положил его в config.inc.php, он работал нормально. Я думаю, что есть некоторая ошибка, которая включает в себя предложение include. – flickerfly 1 March 2016 в 21:09

Я думаю, что это самый точный способ сделать это:

Сначала установите пароль:

sudo htpasswd -c /etc/phpmyadmin/htpasswd.setup admin

Затем отключите защиту:

sudo pma-configure

Затем перейдите по адресу http: // yourserver / phpmyadmin / setup (здесь браузеры запрашивают auth, пользователь - admin, а пароль - то, что вы пишете в первой команде), с помощью этого мастера, который вы настраиваете для своих серверов, безопасность снова:

sudo pma-secure
4
ответ дан 31 July 2018 в 11:50
  • 1
    Файл конфигурации, сгенерированный этим методом, хранится в /var/lib/phpmyadmin/config.inc.php. – Michael Lawton 9 May 2014 в 22:41
  • 2
    Этот файл конфигурации, сгенерированный этим методом, затем включается в основной файл конфигурации по адресу /etc/phpmyadmin/config.inc.php. Сценарий установки phpMyAdmin не работает на Ubuntu и не загружает существующую конфигурацию (заставляя вас начинать с нуля каждый раз, когда вы ее настраиваете). Также конфигурация, которую он создает, включает такие вещи, как секрет blowfish, который затем перезаписывается основным файлом конфигурации. Вы обнаружите, что первый сервер (1) перезаписывается основным файлом конфигурации, который использует значения сервера из config-db.php. – Michael Lawton 11 May 2014 в 21:22

Довольно старый вопрос, но все еще актуальный для поисков.

phpMyAdmin использует простой PHP для файлов конфигурации и массив $cfg['Servers'] для получения настроенных серверов.

путь - добавить новый файл конфигурации в /etc/phpmyadmin/conf.d для каждого сервера, который вы хотите добавить. Это необходимо только для того, чтобы закончить имя файла в .php, чтобы включить их, но рекомендуется использовать your_new_server.inc.php для согласованности.

Минимальное содержимое для данного файла конфигурации будет:

$cfg['Servers'][2]['host'] = 'THE_HOST'; $cfg['Servers'][2]['user'] = 'THE_USER'; $cfg['Servers'][2]['password'] = 'THE_PASSWORD';

Как указано выше, вы можете проверить /usr/share/doc/phpmyadmin/examples/config.manyhosts.inc.php на наличие дополнительных параметров.

Важно: вам нужно увеличить индекс (2) массива для каждого нового файла и избежать используя 1, если вы хотите продолжать подключение к localhost.

Если парень (ы), который пакет phpMyAdmin думал об этом, они могли бы добавить добавочную переменную $i в foreach, которая включает в себя файлы из conf.d, так что вы можете просто использовать его в качестве индекса и не беспокоиться о необходимости его увеличения вручную, но, к сожалению, это не так. Вы можете сделать это сами, хотя.

6
ответ дан 31 July 2018 в 11:50
  • 1
    Я попытался разместить минимальный контент, указанный в файле /etc/phpmyadmin/conf.d/slaveA.conf.php, и просто увидел содержимое в верхней части страницы PHPMyAdmin. Когда я отправил то же самое содержимое в конец config.inc.php, он сработал. Кажется, что-то в этом вопросе. В противном случае это выглядит как ожидаемый способ создания настраиваемой конфигурации, которая не будет убита при обновлениях. – flickerfly 1 March 2016 в 21:07
  • 2
    @flickerfly, поздний ответ, но код в файлах конфигурации должен начинаться с <?php, как и любой другой скрипт PHP. – Marc 15 December 2016 в 19:34

Основной файл конфигурации хранится в /etc/phpmyadmin/config.inc.php. Этот файл содержит секрет

Blowfish из /var/lib/phpmyadmin/blowfish_secret.inc.php Сгенерированный конфиг из сценария установки phpMyAdmin (метод diegueus9) /var/lib/phpmyadmin/config.inc.php DB из /etc/phpmyadmin/config-db.php, которые сгенерированы из /etc/dbconfig-common/phpmyadmin.conf на /usr/sbin/dbconfig-generate-include. /etc/dbconfig-common/phpmyadmin.conf можно изменить, используя dpkg-reconfigure -plow phpmyadmin Дополнительные файлы конфигурации из /etc/phpmyadmin/conf.d/*.php

Некоторые примеры фрагментов конфигурации находятся в /usr/share/doc/phpmyadmin/examples, включая config.manyhosts.inc.php. Этот файл можно добавить в /etc/phpmyadmin/conf.d. Он работает путем сброса переменной i назад до 1 перед созданием любых хостов, чтобы он переопределял набор узлов в /etc/phpmyadmin/config.inc.php.

Если вы хотите сделать более сложную конфигурацию, вы, вероятно, захотите измените файл /etc/phpmyadmin/config.inc.php и, возможно, добавьте другие расширения конфигурации, используя /etc/phpmyadmin/conf.d.

Чтобы добавить поддержку дополнительных конфигураций в старые файлы конфигурации, вы можете создать каталог /etc/phpmyadmin/conf.d, а затем добавить ниже код PHP в нижней части /etc/phpmyadmin/config.inc.php:

/* Support additional configurations */ foreach (glob('/etc/phpmyadmin/conf.d/*.php') as $filename) { include($filename); }
1
ответ дан 31 July 2018 в 11:50

Я предположил следующее:

/etc/phpmyadmin/ было бы самым логичным местом для добавления config /etc/phpmyadmin/config-db.php - это место для конфигурации по умолчанию (local?). Это потому, что он по умолчанию, один db только /etc/phpmyadmin/config.inc.php читает базу данных по умолчанию, поэтому она имеет один. По крайней мере, этот используется, поэтому у вас есть база данных. Если что-то меняется в вашей конфигурации, изменяется config-db.php, поэтому «локальные» изменения в вашем файле не изменяются

. Поэтому я пришел к выводу, что добавление дополнительного сервера под этой частью:

/* Configure according to dbconfig-common if enabled */ if (!empty($dbname)) { //reading from config-db.php } //$i++ was allready done in if above //Adding extra servers $cfg['Servers'][$i]['host'] = 'serverhost.host.tld'; $cfg['Servers'][$i]['extension'] = 'mysqli'; //...etc

Это выглядит как лучшее место.

2
ответ дан 31 July 2018 в 11:50

В этом руководстве объясняется, как вы можете управлять несколькими серверами MySQL из одной установки phpMyAdmin. По соображениям безопасности связь между phpMyAdmin и любым удаленным сервером MySQL использует SSL-шифрование

0
ответ дан 31 July 2018 в 11:50
  • 1
    Это не говорит мне, как это сделать, используя способ настройки Ubuntu, поэтому он вообще не отвечает на вопрос. – Mike Scott 21 September 2012 в 15:14

Согласно документации phpMyAdmin, вы можете определить несколько серверов в массиве $cfg['Servers'], определенных в файле config.inc.php.

1
ответ дан 2 August 2018 в 04:06
  • 1
    В общей установке phpMyAdmin, да. Но Ubuntu имеет свои собственные файлы конфигурации для создания этой части файла config.inc.php, и я хочу знать способ Ubuntu для его настройки без необходимости переопределять конфигурацию Ubuntu. – Mike Scott 4 January 2011 в 13:57
  • 2
    Понимаю. Комментарии в файле говорят You can regenerate it using: dpkg-reconfigure -plow phpmyadmin. Думаю, вы это пробовали? (теперь это не будет сделано в производственной системе). Помимо этого ... при перезаписывании вручную необходимо обновить файлы вручную. – Carsten Thiel 4 January 2011 в 14:06
  • 3
    Да, я могу восстановить файл config-db.php, но файл конфигурации, из которого он ссылается на параметры подключения к базе данных (/etc/dbconfig-common/phpmyadmin.conf), имеет только место для настройки одного сервера базы данных. Я хочу знать, как настроить несколько серверов баз данных. – Mike Scott 4 January 2011 в 14:21
  • 4
    + Майк Скотт, я не мог получить $ cfg ['Servers'] для работы в файле conf.d /, но когда я положил его в config.inc.php, он работал нормально. Я думаю, что есть некоторая ошибка, которая включает в себя предложение include. – flickerfly 1 March 2016 в 21:09

Я думаю, что это самый точный способ сделать это:

Сначала установите пароль:

sudo htpasswd -c /etc/phpmyadmin/htpasswd.setup admin

Затем отключите защиту:

sudo pma-configure

Затем перейдите по адресу http: // yourserver / phpmyadmin / setup (здесь браузеры запрашивают auth, пользователь - admin, а пароль - то, что вы пишете в первой команде), с помощью этого мастера, который вы настраиваете для своих серверов, безопасность снова:

sudo pma-secure
4
ответ дан 2 August 2018 в 04:06
  • 1
    Файл конфигурации, сгенерированный этим методом, хранится в /var/lib/phpmyadmin/config.inc.php. – Michael Lawton 9 May 2014 в 22:41
  • 2
    Этот файл конфигурации, сгенерированный этим методом, затем включается в основной файл конфигурации по адресу /etc/phpmyadmin/config.inc.php. Сценарий установки phpMyAdmin не работает на Ubuntu и не загружает существующую конфигурацию (заставляя вас начинать с нуля каждый раз, когда вы ее настраиваете). Также конфигурация, которую он создает, включает такие вещи, как секрет blowfish, который затем перезаписывается основным файлом конфигурации. Вы обнаружите, что первый сервер (1) перезаписывается основным файлом конфигурации, который использует значения сервера из config-db.php. – Michael Lawton 11 May 2014 в 21:22

Довольно старый вопрос, но все еще актуальный для поисков.

phpMyAdmin использует простой PHP для файлов конфигурации и массив $cfg['Servers'] для получения настроенных серверов.

путь - добавить новый файл конфигурации в /etc/phpmyadmin/conf.d для каждого сервера, который вы хотите добавить. Это необходимо только для того, чтобы закончить имя файла в .php, чтобы включить их, но рекомендуется использовать your_new_server.inc.php для согласованности.

Минимальное содержимое для данного файла конфигурации будет:

$cfg['Servers'][2]['host'] = 'THE_HOST'; $cfg['Servers'][2]['user'] = 'THE_USER'; $cfg['Servers'][2]['password'] = 'THE_PASSWORD';

Как указано выше, вы можете проверить /usr/share/doc/phpmyadmin/examples/config.manyhosts.inc.php на наличие дополнительных параметров.

Важно: вам нужно увеличить индекс (2) массива для каждого нового файла и избежать используя 1, если вы хотите продолжать подключение к localhost.

Если парень (ы), который пакет phpMyAdmin думал об этом, они могли бы добавить добавочную переменную $i в foreach, которая включает в себя файлы из conf.d, так что вы можете просто использовать его в качестве индекса и не беспокоиться о необходимости его увеличения вручную, но, к сожалению, это не так. Вы можете сделать это сами, хотя.

6
ответ дан 2 August 2018 в 04:06
  • 1
    Я попытался разместить минимальный контент, указанный в файле /etc/phpmyadmin/conf.d/slaveA.conf.php, и просто увидел содержимое в верхней части страницы PHPMyAdmin. Когда я отправил то же самое содержимое в конец config.inc.php, он сработал. Кажется, что-то в этом вопросе. В противном случае это выглядит как ожидаемый способ создания настраиваемой конфигурации, которая не будет убита при обновлениях. – flickerfly 1 March 2016 в 21:07
  • 2
    @flickerfly, поздний ответ, но код в файлах конфигурации должен начинаться с <?php, как и любой другой скрипт PHP. – Marc 15 December 2016 в 19:34

Основной файл конфигурации хранится в /etc/phpmyadmin/config.inc.php. Этот файл содержит секрет

Blowfish из /var/lib/phpmyadmin/blowfish_secret.inc.php Сгенерированный конфиг из сценария установки phpMyAdmin (метод diegueus9) /var/lib/phpmyadmin/config.inc.php DB из /etc/phpmyadmin/config-db.php, которые сгенерированы из /etc/dbconfig-common/phpmyadmin.conf на /usr/sbin/dbconfig-generate-include. /etc/dbconfig-common/phpmyadmin.conf можно изменить, используя dpkg-reconfigure -plow phpmyadmin Дополнительные файлы конфигурации из /etc/phpmyadmin/conf.d/*.php

Некоторые примеры фрагментов конфигурации находятся в /usr/share/doc/phpmyadmin/examples, включая config.manyhosts.inc.php. Этот файл можно добавить в /etc/phpmyadmin/conf.d. Он работает путем сброса переменной i назад до 1 перед созданием любых хостов, чтобы он переопределял набор узлов в /etc/phpmyadmin/config.inc.php.

Если вы хотите сделать более сложную конфигурацию, вы, вероятно, захотите измените файл /etc/phpmyadmin/config.inc.php и, возможно, добавьте другие расширения конфигурации, используя /etc/phpmyadmin/conf.d.

Чтобы добавить поддержку дополнительных конфигураций в старые файлы конфигурации, вы можете создать каталог /etc/phpmyadmin/conf.d, а затем добавить ниже код PHP в нижней части /etc/phpmyadmin/config.inc.php:

/* Support additional configurations */ foreach (glob('/etc/phpmyadmin/conf.d/*.php') as $filename) { include($filename); }
1
ответ дан 2 August 2018 в 04:06

Я предположил следующее:

/etc/phpmyadmin/ было бы самым логичным местом для добавления config /etc/phpmyadmin/config-db.php - это место для конфигурации по умолчанию (local?). Это потому, что он по умолчанию, один db только /etc/phpmyadmin/config.inc.php читает базу данных по умолчанию, поэтому она имеет один. По крайней мере, этот используется, поэтому у вас есть база данных. Если что-то меняется в вашей конфигурации, изменяется config-db.php, поэтому «локальные» изменения в вашем файле не изменяются

. Поэтому я пришел к выводу, что добавление дополнительного сервера под этой частью:

/* Configure according to dbconfig-common if enabled */ if (!empty($dbname)) { //reading from config-db.php } //$i++ was allready done in if above //Adding extra servers $cfg['Servers'][$i]['host'] = 'serverhost.host.tld'; $cfg['Servers'][$i]['extension'] = 'mysqli'; //...etc

Это выглядит как лучшее место.

2
ответ дан 2 August 2018 в 04:06

В этом руководстве объясняется, как вы можете управлять несколькими серверами MySQL из одной установки phpMyAdmin. По соображениям безопасности связь между phpMyAdmin и любым удаленным сервером MySQL использует SSL-шифрование

0
ответ дан 2 August 2018 в 04:06
  • 1
    Это не говорит мне, как это сделать, используя способ настройки Ubuntu, поэтому он вообще не отвечает на вопрос. – Mike Scott 21 September 2012 в 15:14

Другие вопросы по тегам:

Похожие вопросы: