php.de

Zurück   php.de > Webentwicklung > PHP-Fortgeschrittene

PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 04.03.2010, 08:59  
Neuer Benutzer
 
Registriert seit: 29.06.2009
Beiträge: 23
PHP-Kenntnisse:
Fortgeschritten
Joosy befindet sich auf einem aufstrebenden Ast
Standard mysqlnd cannot connect to MySQL 4.1+ using old authentication

Hallo,
ich habe auf unsern Server, XAMPP 1.7.3 (PHP 5.3.1).
Auf meinen Testserver hier unter Windows ebenfalls die neueste mit PHP 5.3.1.

Ich versuche einen Zugriff auf MySQL, mit folgender Syntax:
$mysql = mysql_connect($hostname, $username, $password) or trigger_error(mysql_error(),E_USER_ERROR);
# für die Umlaute darstellen
mysql_select_db($databases, $mysql);
$query = "SET NAMES utf8";
$result = mysql_query($query, $mysql) or die(mysql_error());
Bei dem ich dann mit folgender Fehlermeldung gekontert werde:

Warning: mysql_connect() [function.mysql-connect]: OK packet 6 bytes shorter than expected in /opt/lampp/htdocs/partnerpool_v1.0.0/Connections/pegasus.php on line 9
Warning: mysql_connect() [function.mysql-connect]: mysqlnd cannot connect to MySQL 4.1+ using old authentication in /opt/lampp/htdocs/partnerpool_v1.0.0/Connections/pegasus.php on line 9
Fatal error: mysqlnd cannot connect to MySQL 4.1+ using old authentication in /opt/lampp/htdocs/partnerpool_v1.0.0/Connections/pegasus.php on line 9
Auf meinen Testserver aber, läuft es ohne Probleme.
Könnte hier eventuell eine Einstellung in der conf helfen?

Mit freundlichen Grüßen
Joosy
Joosy ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 04.03.2010, 10:55  
Erfahrener Benutzer
 
Registriert seit: 21.12.2004
Beiträge: 4.651
PHP-Kenntnisse:
Fortgeschritten
mepeisen ist ein Lichtblickmepeisen ist ein Lichtblickmepeisen ist ein Lichtblickmepeisen ist ein Lichtblickmepeisen ist ein Lichtblickmepeisen ist ein Lichtblick
mepeisen eine Nachricht über ICQ schicken mepeisen eine Nachricht über Skype™ schicken
Standard

Es könnte helfen, die MySQL-Version zu aktualisieren.
__________________
Entwickler aus Leidenschaft und ein Zahnrad in einem der größten Java-Projekte der Welt.
mepeisen ist offline   Mit Zitat antworten
Alt 04.03.2010, 12:23  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.798
PHP-Kenntnisse:
Fortgeschritten
robo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblick
Standard

Es stellt sich auch die Frage ob das andere PHP vielleicht nicht gegen mysqlnd sondern noch gegen libmysql gelinkt ist, das unterstützt noch alte mysql-server.

Weil mysqlnd ist nicht mehr abwärtskompatibel zu zu alten mysql-versionen

MySQL :: MySQL 5.1 Reference Manual :: B.5.2.4 Client does not support authentication protocol
robo47 ist offline   Mit Zitat antworten
Alt 04.03.2010, 12:51  
Neuer Benutzer
 
Registriert seit: 29.06.2009
Beiträge: 23
PHP-Kenntnisse:
Fortgeschritten
Joosy befindet sich auf einem aufstrebenden Ast
Standard

Sorry,

aber was für ene MySQL-Version ist noch aktueller als die MySQL 5.1.41, mit der ich Zurzeit auf beiden Systemen fahre.

Joosy
Joosy ist offline   Mit Zitat antworten
Alt 04.03.2010, 13:05  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.798
PHP-Kenntnisse:
Fortgeschritten
robo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblick
Standard

Es geht dabei nicht nur um die aktualität von MYSQL sondern auch dessen Einstellungen.

Wurde der Server bzw. die Datenbanken-Userdaten denn von einer alten version übernommen ? sprich eine wo die Daten noch im alten format gespeichert sind und deshalb klappt die authentifizierung nicht ?
Ist vielleicht mysqls einstellung "old_passwords" aktiviert ? und deshalb wird trotz aktuellem server nur das alte passwort-format genutzt ? [Was mit mysqlnd schlicht und einfach nicht geht]

Wenn dem so ist musst du das umstellen und alle passwörter updaten (da es hashs sind, geht das meines wissens nach nur durch neu setzen ALLER user-pws auf dem server)
oder aber dein php mit libmysql anstatt mysqlnd als backend selbst kompilieren.
robo47 ist offline   Mit Zitat antworten
Alt 04.03.2010, 13:07  
Neuer Benutzer
 
Registriert seit: 29.06.2009
Beiträge: 23
PHP-Kenntnisse:
Fortgeschritten
Joosy befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von robo47 Beitrag anzeigen
Es stellt sich auch die Frage ob das andere PHP vielleicht nicht gegen mysqlnd sondern noch gegen libmysql gelinkt ist, das unterstützt noch alte mysql-server.

Weil mysqlnd ist nicht mehr abwärtskompatibel zu zu alten mysql-versionen

MySQL :: MySQL 5.1 Reference Manual :: B.5.2.4 Client does not support authentication protocol
servus robo47,

Die Meldung, verdeutlicht ja, das MySQL mit mysqlnd verlinkt ist, kann aber hier nicht unbedingt zur Klärung führen, da ich eine zeitgemäße und keine abwärtskompatibles Einloggen anstrebe.

Jossy
Joosy ist offline   Mit Zitat antworten
Alt 04.03.2010, 13:16  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.798
PHP-Kenntnisse:
Fortgeschritten
robo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblick
Standard

ich hab mich da oben vielleicht etwas falsch ausgedrückt, man kann auch in neuen mysql-version (server), das alte authentifizierungs-model erzwingen, dabei werden die hashes in einem anderem format gespeichert.

Soweit ich die fehlermeldung verstehe und das sehe ist es so:

Die fehlermeldung sagt ja er kann nicht zu einem "neueren" (4.1+) connecten und dabei den alten authentifizierungs-mechanismus verwenden.
Da der server meines wissens nach vorgibt welche authentifizierung genutzt wird, wird also wohl dein client deshalb nicht reinkommen weil dein server das alte verfahren nutzt und das vorhandene mysqlnd dies nicht kann.

du kannst als entweder mysql anpassen und auf das neue authentifizierungsverfahren umstellen
oder php mit libmysql (das kann die alten authentifizierungsmodis, ist dafür minimal langsamer, paar weniger features) anstatt mysqlnd kompilieren.
robo47 ist offline   Mit Zitat antworten
Alt 04.03.2010, 13:16  
Neuer Benutzer
 
Registriert seit: 29.06.2009
Beiträge: 23
PHP-Kenntnisse:
Fortgeschritten
Joosy befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von robo47 Beitrag anzeigen
Es geht dabei nicht nur um die aktualität von MYSQL sondern auch dessen Einstellungen.

Wurde der Server bzw. die Datenbanken-Userdaten denn von einer alten version übernommen ? sprich eine wo die Daten noch im alten format gespeichert sind und deshalb klappt die authentifizierung nicht ?
Ist vielleicht mysqls einstellung "old_passwords" aktiviert ? und deshalb wird trotz aktuellem server nur das alte passwort-format genutzt ? [Was mit mysqlnd schlicht und einfach nicht geht]

Wenn dem so ist musst du das umstellen und alle passwörter updaten (da es hashs sind, geht das meines wissens nach nur durch neu setzen ALLER user-pws auf dem server)
oder aber dein php mit libmysql anstatt mysqlnd als backend selbst kompilieren.
Servus nochmal,
Ich denke mal, dass die Userdaten von der älteren Version übernommen wurden.
Ich habe auf der Linux-Seite das XAMP mehrmals durch neuere Upgrades auf einen aktuellen Stand gebracht.
old_passwords habe ich gesetzt, mit der Hoffnung, dass die Authentifizierung wie vorher akzeptiert wird, also old_passwords = On.
Ich habe auch die entsprechenden Passworteinträge mit:
SET PASSWORD FOR 'some_user'@'some_host' = OLD_PASSWORD('mypass'); gesetzt.

Joosy
Joosy ist offline   Mit Zitat antworten
Alt 04.03.2010, 13:21  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.798
PHP-Kenntnisse:
Fortgeschritten
robo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblick
Standard

du hast old_passwords aktiviert und alte passwörter gesetzt, aber das ist doch gerade das was mysqlnd NICHT kann ...
mysqlnd ist das neueste backend das von mysql direkt für php geschrieben wird als ersatz für das linken gegen die libmysql die andere programmiersprachen auch nutzen.
dieses neue backend wurde mit fokues auf mysql 4.1+ entwickelt also auch nur dem NEUEN verfahren.
robo47 ist offline   Mit Zitat antworten
Alt 04.03.2010, 13:27  
Neuer Benutzer
 
Registriert seit: 29.06.2009
Beiträge: 23
PHP-Kenntnisse:
Fortgeschritten
Joosy befindet sich auf einem aufstrebenden Ast
Standard

Hallo robo47,

muss lauffend ans andere Ende.
Gib mir bitte etwas Zeit zu antworten.

Danke!

Joosy
Joosy ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Can't connect to local MySQL server through socket zcmaster Datenbanken 0 17.02.2006 11:48
Can't connect to local MySQL server through socket scooter Datenbanken 1 15.01.2006 15:22
[Erledigt] Can't connect to local MySQL server through socket Datenbanken 7 25.11.2005 15:35
[Erledigt] not allowed to connect to this MySQL server PHP Tipps 2005-2 2 23.09.2005 18:34
Suche Tipps für Persormance-Steigerung (Geld für Nützliches) Beitragsarchiv 18 16.08.2005 10:57
MySQL - Connect mit PortForwarder bendigo Datenbanken 4 12.08.2005 19:30
MySQL "Can't connect..." Fehler. Datenbanken 1 08.08.2005 14:25
mysql und connect Datenbanken 2 22.07.2005 10:14
[Erledigt] Ich bekomme keinen connect von PHP zu MySQL Datenbanken 3 26.05.2005 16:32
could not connect to MySQL nixdorf Datenbanken 3 22.03.2005 13:10
[Erledigt] Problem: Can't connect to local MySQL server through socket Datenbanken 3 01.03.2005 18:51
php connect zur db unter UNIX geht, über Apache nicht ... PHP Tipps 2004-2 0 23.11.2004 19:52
[Erledigt] Access denied for user: '@localhost' / SYSTEM@localhost Datenbanken 0 10.11.2004 20:35
English (sorry): Using MySQL record as URL in PHP? PHP Tipps 2004 3 04.11.2004 08:52
English (sorry): Using MySQL record as URL in PHP? Datenbanken 2 03.11.2004 16:21

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
\mysqlnd cannot connect to mysql 4.1 using old authentication\, mysqlnd cannot connect to mysql 4.1 using old authentication, mysqlnd cannot connect to mysql 4.1 using the old insecure authentication, \mysqlnd cannot connect to mysql 4.1 using old authentication \, mysqlnd cannot connect to mysql 4.1 using the old insecure authentication., php \mysqlnd cannot connect to mysql 4.1 using old authentication\, \mysqlnd cannot connect to mysql 4.1 using old authentication in\, zend server mysqlnd cannot connect to mysql 4.1 using old authentication, \mysqlnd cannot connect to mysql 4.1 using the old insecure authentication\, \mysql 4.1 using old authentication\, mysqlnd cannot connect to mysql 4.1 using old authentication in, php mysqlnd conect to 4.0, cannot connect to mysql 4.1 using old authentication, warning: mysql_connect() [function.mysql-connect]: mysqlnd cannot connect to mysql 4.1 using old authentication in, typo3 mysqlnd cannot connect to mysql 4.1 using old authentication, mysqlnd cannot connect to mysql 4.1 using the old insecure, php 5.3 \mysqlnd cannot connect to mysql 4.1 using old authentication\, warning: mysql_connect(): mysqlnd cannot connect to mysql 4.1 using old authentication in, xampp \mysqlnd cannot connect to mysql 4.1 using old authentication\, \mysqlnd cannot connect to mysql 4.1 using old authentication\ 5.3.1

Alle Zeitangaben in WEZ +1. Es ist jetzt 21:58 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum