Назад | Перейти на главную страницу

Настройка phpmyadmin для подключения только к удаленному серверу

Я какое-то время зацикливался на этом и надеялся, что вы сможете немного понять, что я делаю неправильно.

У меня есть новый экземпляр amazon EC2 (Ubuntu 16.04), подключенный к базе данных RDS (mysql), и я пытаюсь установить phpmyadmin на экземпляр amazon EC2, чтобы управлять базой данных RDS.

У меня проблемы с тем, как настроить phpmyadmin, чтобы он не устанавливал локальную базу данных, а просто подключался к экземпляру RDS. (Я выбрал «нет», когда меня спросили, хочу ли я, чтобы phpmyadmin настроил для меня базу данных.)

Первая попытка:

Я пробовал добавить в свой /etc/phpmyadmin/config.header.inc.php следующее:

$i++;
$cfg['Servers'][$i]['auth_type'] = 'cookie';
/* Server parameters */
$cfg['Servers'][$i]['host'] = '*************';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['compress'] = false;
/* Select mysql if your server does not have mysqli */
$cfg['Servers'][$i]['extension'] = 'mysqli';
$cfg['Servers'][$i]['AllowNoPassword'] = false;

где ************* - конечная точка записи для моего экземпляра RDS.

Однако при этом просто создается следующая непригодная для использования страница входа: Borked страница входа в систему

Вторая попытка:

Я тоже пробовал менять $dbserver в /etc/phpmyadmin/config-db.php к конечной точке записи для моего экземпляра RDS, которая вызвала следующие предупреждения на странице входа:

Предупреждение 1:

Notice in ./index.php#603
Use of undefined constant PMA_DRIZZLE - assumed 'PMA_DRIZZLE'

Backtrace

Предупреждение 2:

Notice in ./libraries/DatabaseInterface.class.php#2665
Use of undefined constant PMA_DRIZZLE - assumed 'PMA_DRIZZLE'

Backtrace

./libraries/db_common.inc.php#24: PMA_DatabaseInterface->isSystemSchema(string '')
./db_structure.php#14: require_once(./libraries/db_common.inc.php)

Предупреждение 3:

Notice in ./libraries/DatabaseInterface.class.php#2666
Use of undefined constant PMA_DRIZZLE - assumed 'PMA_DRIZZLE'

Backtrace

./libraries/db_common.inc.php#24: PMA_DatabaseInterface->isSystemSchema(string '')
./db_structure.php#14: require_once(./libraries/db_common.inc.php)

Предупреждение 4:

Notice in ./libraries/DatabaseInterface.class.php#2667
Use of undefined constant PMA_DRIZZLE - assumed 'PMA_DRIZZLE'

Backtrace

./libraries/db_common.inc.php#24: PMA_DatabaseInterface->isSystemSchema(string '')
./db_structure.php#14: require_once(./libraries/db_common.inc.php)

Предупреждение 5:

Notice in ./libraries/DatabaseInterface.class.php#2668
Use of undefined constant PMA_DRIZZLE - assumed 'PMA_DRIZZLE'

Backtrace

./libraries/db_common.inc.php#24: PMA_DatabaseInterface->isSystemSchema(string '')
./db_structure.php#14: require_once(./libraries/db_common.inc.php)

Игнорируя их и пытаясь войти в систему, я получаю следующее:

Ошибка при попытке входа в систему:

#2002 - No such file or directory<br />The server is not responding (or the local server's socket is not correctly configured).

Возможно ли то, что я пытаюсь сделать, или это абсолютное требование, чтобы phpmyadmin имел локальную базу данных для работы, даже если база данных, к которой я хочу получить доступ, находится на удаленном компьютере?

Убедитесь, что вы запустили SQL-файл базы данных phpmyadmin на удаленном хосте:

-- --------------------------------------------------------
-- SQL Commands to set up the pmadb as described in the documentation.
--
-- This file is meant for use with MySQL 5 and above!
--
-- This script expects the user pma to already be existing. If we would put a
-- line here to create him too many users might just use this script and end
-- up with having the same password for the controluser.
--
-- This user "pma" must be defined in config.inc.php (controluser/controlpass)
--
-- Please don't forget to set up the tablenames in config.inc.php
--

-- --------------------------------------------------------
[...]

Просмотреть весь файл:https://github.com/phpmyadmin/phpmyadmin/blob/master/sql/create_tables.sql