sql >> Database >  >> RDS >> Mysql

MySQL PHP-incompatibiliteit

Het MySQL-account dat u gebruikt, heeft waarschijnlijk een oud wachtwoord van 16 tekens (hash).
U kunt dat testen met een MySQL-client (zoals HeidiSQL, de MySQL-consoleclient of een andere client) en een account dat toegang heeft naar de mysql .user tafel. Als het veld Wachtwoord 16 tekens bevat, is het een oud wachtwoord en mysqlnd kan het niet gebruiken om verbinding te maken met de MySQL-server.
U kunt een nieuw wachtwoord voor die gebruiker instellen met

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

zie dev_mysql_set_password

edit:
Je moet ook controleren of de server is ingesteld op gebruik/maak standaard oude wachtwoorden .

edit2:
Voer de query uit

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

op de 5.0.22-server (degene die "mislukt"). Vervang username door het account dat u gebruikt in mysql_connect().
Wat levert dat op?



  1. Databasebeveiliging in Oracle

  2. Back-up / herstel SQLlite-database naar map Google Drive-app

  3. MySQL-fout:sleutelspecificatie zonder sleutellengte

  4. SQL uitvoeren vanuit batchbestand