sql >> Database teknologi >  >> RDS >> Mysql

MySQL PHP-inkompatibilitet

Den MySQL-konto, du bruger, har sandsynligvis en gammel adgangskode på 16 tegn (hash).
Du kan teste det med en MySQL-klient (som HeidiSQL, MySQL-konsolklienten eller enhver anden klient) og en konto, der har adgang til mysql .user bord. Hvis feltet Adgangskode indeholder 16 tegn, er det en gammel adgangskode og mysqlnd kan ikke bruge den til at oprette forbindelse til MySQL-serveren.
Du kan indstille en ny adgangskode til den bruger med

SET PASSWORD FOR 'username'@'hostmask' = PASSWORD('thepassword')

se dev_mysql_set_password

edit:
Du bør også tjekke om serveren er sat til brug/opret gamle adgangskoder som standard .

edit2:
Kør venligst forespørgslen

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

på 5.0.22-serveren (den der "fejler"). Erstat username af den konto, du bruger i mysql_connect().
Hvad returnerer det?



  1. Sådan fungerer implicitte transaktioner i SQL Server

  2. postgresql:INSERT INTO ... (VÆLG * ...)

  3. PostgreSQL, træk og skift

  4. MySQL - Hvordan unpivot kolonner til rækker?