sql >> Database >  >> RDS >> Mysql

MySQL ODBC-link mislukt vanwege geweigerd authenticatieprotocol

Het probleem hier was te wijten aan twee gelijktijdige problemen.

  1. Op de externe server was de algemene instelling OLD_PASSWORDS ingesteld op 1 - wat betekent dat wachtwoorden werden gehasht in de pre-4.1-methode.
  2. het root-account was gecodeerd in de nieuwere hash-methode ondanks de globale instelling (vermoedelijk was het ingevoerd voordat deze parameter werd ingesteld), wat inhoudt dat het toegang kreeg via de ODBC-verbinding omdat de nieuwe hashing niet goed was herkend.

De globale instelling zorgde ervoor dat de PASSWORD()-functie in MySQL elke ingevoerde waarde in de oude methode hash in plaats van de nieuwe methode zoals het bedoeld was.

Ik nam aan dat de DBA OLD_PASSWORDS om een ​​goede reden op 1 had gezet, dus als oplossing die ik gebruikte

Het gebruik van de functie wachtwoord() werkte voorheen niet omdat de algemene instelling OLD_PASSWORDS=1 ervoor zorgde dat dezelfde hashing werd gebruikt als de functie OLD_PASSWORD(). Dankzij de sessie-instelling kon het juiste wachtwoord worden aangemaakt.



  1. Converteer alle records in postgre naar Titlecase, eerste letter hoofdletters

  2. Hoe maak je een eenvoudige fuzzy search met alleen PostgreSQL?

  3. Een SQL Server Monitoring Tool kiezen die aan uw behoeften voldoet

  4. php foreach loop en addmore-knop in een formulier