web-dev-qa-db-ja.com

リモートサーバーにのみ接続するようにphpmyadminを設定する

私はしばらくこれに固執していて、あなたが私が間違っていることについての洞察を提供できることを望んでいました。

RDS(mysql)データベースに接続された新しいAmazon EC2(Ubuntu 16.04)インスタンスがあり、RDSデータベースを管理するためにAmazonEC2インスタンスにphpmyadminをインストールしようとしています。

私が問題を抱えているのは、ローカルデータベースをインストールせず、代わりにRDSインスタンスに接続するようにphpmyadminを構成する方法です。 (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 Login Page

2回目の試行:

また、/ etc/phpmyadmin /config-db.phpの$dbserverを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が機能するためにローカルデータベースを持っていることが絶対的な要件ですか?

2
Justin Huffman

リモートホストでphpmyadminデータベースSQLファイルを実行していることを確認してください。

-- --------------------------------------------------------
-- 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

0
Andy Verhoef