phpMyAdmin с RDS & amp; Эластичный бобовый стебель

У меня есть приложение, загруженное с Amazon Elastic Beanstalk и БД на Amazon RDS. Мое приложение может связаться с базой данных, которая работает нормально, и я могу подключиться к mySQL из CLI AWS EC2.

Проблема: я не могу заставить phpMyAdmin подключиться к моему экземпляру Amazon RDS.
(Ошибка № 2002 Не удается войти на сервер MySQL)

/etc/httpd/conf.d/phpMyAdmin.conf

Alias /phpMyAdmin /usr/share/phpMyAdmin
Alias /phpmyadmin /usr/share/phpMyAdmin
<Directory /usr/share/phpMyAdmin/>
AddDefaultCharset UTF-8

<IfModule mod_authz_core.c>
<RequireAny>
Require ip 127.0.0.1
Require ip xx.xx.xx.xx
Require ip ::1

</RequireAny>
</IfModule>
<IfModule !mod_authz_core.c>
Order Deny,Allow
Allow from 127.0.0.1
Allow from xx.xx.xx.xx
Allow from ::1
</IfModule>
</Directory>

<Directory /usr/share/phpMyAdmin/setup/>
<IfModule mod_authz_core.c>
<RequireAny>
Require ip 127.0.0.1
Require ip xx.xx.xx.xx
Require ip ::1
</RequireAny>
</IfModule>
<IfModule !mod_authz_core.c>
Order Deny,Allow
Allow from 127.0.0.1
Allow from xx.xx.xx.xx
Allow from ::1
</IfModule>
</Directory>

<Directory /usr/share/phpMyAdmin/libraries/>
Order Deny,Allow
Allow from All
</Directory>

<Directory /usr/share/phpMyAdmin/setup/lib/>
Order Deny,Allow
Allow from All
</Directory>

<Directory /usr/share/phpMyAdmin/setup/frames/>
Order Deny,Allow
Deny from All
Allow from All
</Directory>

/etc/phpMyAdmin/config.inc.php

$i = 0;$i++;
$cfg['Servers'][$i]['host']          = 'MYAWSRDS.rds.amazonaws.com'; // MySQL hostname or IP address
$cfg['Servers'][$i]['port']          = '3306';          // MySQL port - leave blank for default port
$cfg['Servers'][$i]['socket']        = '';          // Path to the socket - leave blank for default socket
$cfg['Servers'][$i]['connect_type']  = 'tcp';       // How to connect to MySQL server ('tcp' or 'socket')
$cfg['Servers'][$i]['extension']     = 'mysqli';    // The php MySQL extension to use ('mysql' or 'mysqli')
$cfg['Servers'][$i]['compress']      = FALSE;       // Use compressed protocol for the MySQL connection
// (requires PHP >= 4.3.0)
$cfg['Servers'][$i]['controluser']   = '';          // MySQL control user settings
// (this user must have read-only
$cfg['Servers'][$i]['controlpass']   = '';          // access to the "mysql/user"// and "mysql/db" tables).
// The controluser is also
// used for all relational
// features (pmadb)
$cfg['Servers'][$i]['auth_type']     = 'cookie';    // Authentication method (config, http or cookie based)?
$cfg['Servers'][$i]['user']          = 'username'  // MySQL user
$cfg['Servers'][$i]['password']      = '';          // MySQL password (only needed
// with 'config' auth_type)
$cfg['Servers'][$i]['only_db']       = '';          // If set to a db-name, only
// this db is displayed in left frame
// It may also be an array of db-names, where sorting order is relevant.
$cfg['Servers'][$i]['hide_db']       = '';          // Database name to be hidden from listings
$cfg['Servers'][$i]['verbose']       = '';          // Verbose name for this host - leave blank to show the hostname

$cfg['Servers'][$i]['pmadb']         = '';          // Database used for Relation, Bookmark and PDF Features
// (see scripts/create_tables.sql)
//   - leave blank for no support
//     DEFAULT: 'phpmyadmin'
$cfg['Servers'][$i]['bookmarktable'] = '';          // Bookmark table
//   - leave blank for no bookmark support
//     DEFAULT: 'pma_bookmark'
$cfg['Servers'][$i]['relation']      = '';          // table to describe the relation between links (see doc)
//   - leave blank for no relation-links support
//     DEFAULT: 'pma_relation'
$cfg['Servers'][$i]['table_info']    = '';          // table to describe the display fields
//   - leave blank for no display fields support
//     DEFAULT: 'pma_table_info'
$cfg['Servers'][$i]['table_coords']  = '';          // table to describe the tables position for the PDF schema
//   - leave blank for no PDF schema support
//     DEFAULT: 'pma_table_coords'
$cfg['Servers'][$i]['pdf_pages']     = '';          // table to describe pages of relationpdf
//   - leave blank if you don't want to use this
//     DEFAULT: 'pma_pdf_pages'
$cfg['Servers'][$i]['column_info']   = '';          // table to store column information
//   - leave blank for no column comments/mime types
//     DEFAULT: 'pma_column_info'
$cfg['Servers'][$i]['history']       = '';          // table to store SQL history
//   - leave blank for no SQL query history
//     DEFAULT: 'pma_history'
$cfg['Servers'][$i]['verbose_check'] = TRUE;        // set to FALSE if you know that your pma_* tables
// are up to date. This prevents compatibility
// checks and thereby increases performance.
$cfg['Servers'][$i]['AllowRoot']     = TRUE;        // whether to allow root login
$cfg['Servers'][$i]['AllowDeny']['order']           // Host authentication order, leave blank to not use
= '';
$cfg['Servers'][$i]['AllowDeny']['rules']           // Host authentication rules, leave blank for defaults
= array();
$cfg['Servers'][$i]['AllowNoPassword']              // Allow logins without a password. Do not change the FALSE
= FALSE;       // default unless you're running a passwordless MySQL server
$cfg['Servers'][$i]['designer_coords']              // Leave blank (default) for no Designer support, otherwise
= '';          // set to suggested 'pma_designer_coords' if really needed
$cfg['Servers'][$i]['bs_garbage_threshold']         // Blobstreaming: Recommented default value from upstream
= 50;          //   DEFAULT: '50'
$cfg['Servers'][$i]['bs_repository_threshold']      // Blobstreaming: Recommented default value from upstream
= '32M';       //   DEFAULT: '32M'
$cfg['Servers'][$i]['bs_temp_blob_timeout']         // Blobstreaming: Recommented default value from upstream
= 600;         //   DEFAULT: '600'
$cfg['Servers'][$i]['bs_temp_log_threshold']        // Blobstreaming: Recommented default value from upstream
= '32M';       //   DEFAULT: '32M'$cfg['UploadDir'] = '/var/lib/phpMyAdmin/upload';
$cfg['SaveDir']   = '/var/lib/phpMyAdmin/save';$cfg['PmaNoRelation_DisableWarning'] = TRUE;

0

Решение

В config.inc.php попробуйте использовать $cfg['Servers'][$i]['host'] = 'localhost'; или же $cfg['Servers'][$i]['host'] = '127.0.0.1';

Вероятно, происходит то, что ваш сервер MySQL не принимает подключения с внешних IP-адресов; Когда вы используете полное имя хоста в директиве host, оно, похоже, происходит от внешнего соединения (даже если оно находится на той же машине, сеть ищет хост по-разному). Любое из этих значений заставит его соединиться, не переходя на внешний адрес (хотя они используют разные средства, поэтому мы попробуем оба).

При попытке использовать localhost вам также может потребоваться изменить тип соединения на «сокет».

0

Другие решения

Это было взято из комментария в другом подобном вопросе:

Попробуйте изменить хост на конечную точку RDS:

$cfg['Servers'][$i]['host'] = 'localhost' to $cfg['Servers'][$i]['host'] = 'xxx.xxxxxxxxxxxx.us-east-1.rds.amazonaws.com'
0