2009-08-31 11 views
1

を使用しているときmysqlndエラーを取得Snow Leopardのをインストールした後、私は次のエラーを得た:はSnow LeopardでのApacheの

mysqlnd cannot connect to MySQL 4.1+ using old authentication

私は得ることはありませんそれは何MAMPと罰金働いている理由であります私がMAMPのApacheだけを起動すると、ApacheでSnow Leopardのビルドでこのエラーが発生します。 MAMPにはローカルにいくつかのMySQLファイルがあるからですか?リモートサーバーに接続しようとすると、MySQLをローカルにインストールする必要がありますか?どのように私の側でこれをサーバーで邪魔することなく修正する方法についての手掛かり?好ましくはApacheのみ - 私が必要としないものをインストールしたくない。

編集:解決策は
PHPは、任意のphp.iniファイルをロードしていなかったが判明します。 A sudo cp /etc/php.ini.default /etc/php.iniがそのトリックをしました。最初はphp-mysqlndをロードしていましたが、現在php-mysqlもロードされており、すべて正常です。

はうーん、私は、これは何も解決しない、間違っていました。

答えて

1

これで運がいいですか?私は同じ正確な問題を抱えています。私は、pre 4.1とpost 4.1の両方の認証を使用してパスワードをリセットしようとしました。

EDIT ::

私のMySQLサーバが同じ16桁のハッシュを返されたコンフィギュレーションファイルに設定を使用古いパスワードオプションなので、PASSWORD()とOLD_PASSWORD()の結果を持っていました。

新しいパスワードを使用してハッシュを取得する別のmysqlサーバでSELECT PASSWORD( 'mysecret')を実行した後、SET PASSWORD FOR 'myuser' @ '%' = '* THEHASHFROMTHESELECTSTATEMENT';を実行しました。それが動作することができなければならないことの後にユーザー名とパスワード

:あなたはMySQLのクエリブラウザまたは何か

SET old_passwords = 0; 
UPDATE mysql.user SET Password = PASSWORD('testpass') WHERE User = 'testuser' limit 1; 
SELECT LENGTH(Password) FROM mysql.user WHERE User = 'testuser'; 
FLUSH PRIVILEGES; 

にメモして、これらの行を行うことができます

HTH

0

MySQL-Serverでuser-pwを再設定してみてください。 パスワードを新しい形式で保存する必要があります。

ただし、Snow Leopardに付属のmysqlライブラリは、古いパスワードをサポートしていないとコンパイルされる可能性があります。

ライブサーバーでも、新しいdb-userを作成しても問題ありません。既存のものを変更したくない場合は、新しいユーザーアカウントで確認できます。私は MAMPのApacheを起動するとき、それはMAMPで 罰金を働いて、なぜ私は得ることはありません何

はあるが、私は、ApacheでのSnow Leopardのビルドで、このエラー を取得します。 MAMPにはいくつかのMySQL ファイルがローカルにあるためですか? リモートサーバーに接続しようとすると、まだ MySQLをローカルにインストールする必要がありますか?任意の手掛かり サーバーを邪魔しないでこれを私の側で修正する方法は?好ましくはApacheのみ - は私が必要としないものをインストールしないでください。

MAMPには、自分のバージョンですべてのファイルが保存されています。 リモートサーバに接続する場合は、ローカルMySQLサーバを実行する必要はありません。 PHP用のmysql-librariesをインストールするだけです。

0

。私はちょうど私も解決しました

関連する問題