sql >> Databasteknik >  >> RDS >> Mysql

MySQL PHP-inkompatibilitet

MySQL-kontot du använder har förmodligen ett gammalt 16 tecken långt lösenord (hash).
Du kan testa det med en MySQL-klient (som HeidiSQL, MySQL-konsolklienten eller någon annan klient) och ett konto som har åtkomst till mysql .user tabell. Om lösenordsfältet innehåller 16 tecken är det ett gammalt lösenord och mysqlnd kan inte använda den för att ansluta till MySQL-servern.
Du kan ställa in ett nytt lösenord för den användaren med

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

se dev_mysql_set_password

edit:
Du bör också kontrollera om servern är inställd på använd/skapa gamla lösenord som standard .

edit2:
Kör frågan

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

på 5.0.22-servern (den som "misslyckas"). Ersätt username av kontot du använder i mysql_connect().
Vad returnerar det?



  1. Hur man använder Access 2019 skärmtips

  2. Hur man hanterar Ruby on Rails-fel:Installera postgresql-adaptern:`gem install activerecord-postgresql-adapter'

  3. Hur hittar jag en lagrad procedur som innehåller <text>?

  4. MyIsam-motortransaktionsstöd