我已經瀏覽了相關文章和他們的建議解決方案(和here),但他們似乎沒有幫助我的情況。MacPorts:MySQL和PHP無法連接
我在Snow Leopard上運行的MacPorts 2.1.2,和我已經安裝了以下軟件包:
php5-mysql @5.3.15_0+mysql5 (active)
php5 @5.3.15_0+apache2 (active)
mysql5 @5.1.63_0 (active)
mysql_select @0.1.2_0 (active)
apache2 @2.2.22_2+preforkmpm (active)
我可以在本地主機指向我的網頁瀏覽器,它會連接到默認的站點;一個測試index.php
<?php phpinfo() ?>
頁面正常工作,所以我認爲在這一點上,PHP功能。問題在於連接到已安裝的MySQL服務器。 phpmyadmin和Joomla都無法連接,而嘗試一個.php測試腳本也導致了問題。我對如何從這裏出發有點不知所措。
MySQL服務器運行明顯:
~ > ps ax | grep mysql
10884 ?? S 0:00.03 /bin/sh /opt/local/lib/mysql5/bin/mysqld_safe
10930 ?? S 0:07.66 /opt/local/libexec/mysqld --basedir=/opt/local --datadir=/opt/local/var/db/mysql5 --user=_mysql --log-error=/opt/local/var/db/mysql5/tigger.local.err --pid-file=/opt/local/var/db/mysql5/tigger.local.pid
,我能夠使用MySQL客戶端:
~ > mysql
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 15
Server version: 5.1.63 Source distribution
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| test |
+--------------------+
2 rows in set (0.04 sec)
mysql> show grants for 'root'@'localhost';
+---------------------------------------------------------------------+
| Grants for [email protected] |
+---------------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION |
+---------------------------------------------------------------------+
1 row in set (0.00 sec)
有插座
~ > ll /opt/local/var/run/mysql5/mysqld.sock
srwxrwxrwx 1 _mysql admin 0 Jul 31 16:55 /opt/local/var/run/mysql5/mysqld.sock
,並在php.ini包含MySQL模塊和配置
~ > /opt/local/bin/php -i | grep mysql | grep socket
mysql.default_socket => /opt/local/var/run/mysql5/mysqld.sock => /opt/local/var/run/mysql5/mysqld.sock
mysqli.default_socket => no value => no value
pdo_mysql.default_socket => /opt/local/var/run/mysql5/mysqld.sock => /opt/local/var/run/mysql5/mysqld.sock
這一切在我看來,這是應該如何。但是,當我嘗試使用「root」登錄phpmyadmin時,連接失敗,並且在Joomla安裝期間發生同樣的情況。
任何幫助,提示,建議表示讚賞:-)
有沒有連接失敗的錯誤信息?而且localhost這個詞對於mysql有一些特殊的含義。也許這是造成問題的原因。 – hakre 2012-08-01 18:08:32
從phpmyadmin得到:#1045無法登錄到MySQL服務器。從Joomla我得到:無法連接到數據庫。連接器返回數字:無法連接到數據庫:無法連接到MySQL。 – Jens 2012-08-01 18:15:02
所以你想通過套接字或通過IP連接? – hakre 2012-08-01 18:18:46