ローカル以外のMySQLをphpMyAdminで
CentOS6.xのhttpdにphpMyAdminをセットアップし、別マシンにおいてあるMySQLに接続しようとしています。
外部マシンにtcpで接続するため、内部ソケットは使用しないと考えておりますが、アクセスしますと、なぜか#2002 Can't connect to local MySQL server ...というエラーメッセージが出ます。
お心あたりがあれば、ご教授ください。
ちなみに、別マシン上(CentOS5.x)で同様にphpmyadmin-2.11.11.3-2を稼動させておりますが、こちらは問題なく稼動しております。
要は、現在稼動しているphpmyadmin2をDBを含めphpMyAdmin3にマイグレーションしたいと考えているわけです。
(DBは現行稼動のものをバックアップして別マシンに再構築しています)
諸元値(関連あると思われるもの抜粋)
OS=CentOS6.3
phpMyAdmin-3.5.2-1(EPELからyum)
php-5.3.3-14(CentOS BASEよりyum)
php-mysql-5.3.3(同上)
mysql-5.1.61-4(同上)
mysql-libs-5.1.61-4(同上)
mysqlクライアントでは問題なくアクセスが可能です。
※アクセスしたときのエビデンスは以下
# mysql -u root -h 10.9.1.7 -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 74
Server version: 5.1.61 Source distribution
Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
config.inc.phpには以下のように設定してあります。
/* Authentication type */
$cfg['Servers'][$i]['auth_type'] = 'cookie';
/* Server parameters */
$cfg['Servers'][$i]['host'] = '10.9.1.7';
$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;
※ちなみにphpmyadmin2では、hostとextensionが異なるのみ
/etc/httpd/conf.d/phpMyAdmin.confの内容は以下
Alias /mysql /usr/share/phpMyAdmin
<Directory /mysql>
Order deny,allow
Deny from all
Allow from all
</Directory>
※現在はテスト中なのでInetから切断されたネットワーク環境においてあります
/etc/my.conf
[client]
socket=/var/lib/mysql/mysql.sock
port=3306
host=10.9.1.7
user=mysql
--
この状態で、httpdを起動し、phpmyadminのフォルダをアクセスすると、userとpassword入力画面まで行きます。
そこで、先にmysqlクライアントで接続可能であったユーザとパスワードを指定すると、冒頭のエラーメッセージが表示されるという具合です。
ちなみに、phppgadminもセットアップしておりますが、こちらは良好に動作しております。
よろしくお願いします。
お礼
kosukejlampnetさん、ありがとうございます。 apacheのエラーログは下記の様になっています。 何を疑えば良いのかご教授頂けると助かります。 PHP Warning: Unknown: Unable to allocate memory for pool. in Unknown on line 0 PHP Warning: require_once(): Unable to allocate memory for pool. in /home/hoge/public_html/pma/index.php on line 13 PHP Warning: require(): Unable to allocate memory for pool. in /home/hoge/public_html/pma/libraries/common.inc.php on line 52 PHP Warning: require_once(): Unable to allocate memory for pool. in /home/hoge/public_html/pma/libraries/Error_Handler.class.php on line 12 PHP Warning: require_once(): Unable to allocate memory for pool. in /home/hoge/public_html/pma/libraries/Error.class.php on line 12 PHP Fatal error: Call to undefined function PMA_sanitize() in /home/hoge/public_html/pma/libraries/Message.class.php on line 540