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

Fejl:mysqlnd kan ikke oprette forbindelse til MySQL 4.1+ ved hjælp af den gamle usikre godkendelse

  • Fjern eller kommenter old_passwords =1 i my.cnf

Genstart MySQL. Hvis du ikke gør det, vil MySQL blive ved med at bruge det gamle kodeordsformat, hvilket vil betyde, at du ikke kan opgradere adgangskoden ved hjælp af den indbyggede PASSWORD() hashing-funktion.

De gamle kodeords-hash er på 16 tegn, de nye er på 41 tegn.

  • Opret forbindelse til databasen, og kør følgende forespørgsel:

    SELECT user, Length(`Password`) FROM  `mysql`.`user`;
    

Dette vil vise dig, hvilke adgangskoder der er i det gamle format, f.eks.:

+----------+--------------------+
| user     | Length(`Password`) |
+----------+--------------------+
| root     |                 41 |
| root     |                 16 |
| user2    |                 16 |
| user2    |                 16 |
+----------+--------------------+

Bemærk her, at hver bruger kan have flere rækker (en for hver forskellig værtsspecifikation).

For at opdatere adgangskoden for hver bruger skal du køre følgende:

UPDATE mysql.user SET Password = PASSWORD('password') WHERE user = 'username';

Til sidst fjerner du privilegier:

FLUSH PRIVILEGES;

Kilde:Sådan rettes "mysqlnd kan ikke oprette forbindelse til MySQL 4.1+ ved hjælp af gammel godkendelse" på PHP5.3



  1. Spring Boot MySQL-databaseinitialiseringsfejl med lagrede procedurer

  2. Brug XEvent Profiler til at fange forespørgsler i SQL Server

  3. MySQL | REGEXP VS Like

  4. Del 1:Billedklassificering med MariaDB Server og TensorFlow – en oversigt