Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MySQL-PHP-Inkompatibilität

Das MySQL-Konto, das Sie verwenden, hat wahrscheinlich ein altes 16-stelliges Passwort (Hash).
Sie können das mit einem MySQL-Client (wie HeidiSQL, dem MySQL-Konsolen-Client oder einem anderen Client) und einem Konto mit Zugriff testen zum mysql .user Tisch. Wenn das Passwortfeld 16 Zeichen enthält, ist es ein altes Passwort und mysqlnd kann es nicht verwenden, um sich mit dem MySQL-Server zu verbinden.
Sie können mit

ein neues Passwort für diesen Benutzer festlegen
SET PASSWORD FOR 'username'@'hostmask' = PASSWORD('thepassword')

siehe dev_mysql_set_password

Bearbeiten:
Sie sollten auch prüfen, ob der Server auf standardmäßig alte Passwörter verwenden/erstellen .

edit2:
Bitte führen Sie die Abfrage aus

SELECT
  Length(`Password`),
  Substring(`Password`, 1, 1)
FROM
  `mysql`.`user`
WHERE
  `user`='username'

auf dem 5.0.22-Server (der "fehlschlägt"). Ersetzen Sie username nach dem Konto, das Sie in mysql_connect() verwenden.
Was gibt das zurück?