2017
MariaDBERRORNotableAuthenticationHIGH confidence
Password hash does not match
Production Risk
Low — password change is rejected.
What this means
The provided password hash in a SET PASSWORD or GRANT statement does not match the expected format for the user's authentication plugin.
Why it happens
- 1Using PASSWORD() hash from one auth plugin with a user configured for another.
- 2Manually specifying an incorrectly formatted password hash.
- 3Mixing old_password() hashes with native_password users.
How to reproduce
trigger — this will error
trigger — this will error
SET PASSWORD FOR 'user'@'%' = 'invalid_hash_format';
expected output
ERROR 2017 (HY000): Password hash should be a 41-digit hexadecimal number.
Fix
Use ALTER USER with a plain-text password and let MySQL hash it
Use ALTER USER with a plain-text password and let MySQL hash it
ALTER USER 'user'@'%' IDENTIFIED BY 'plaintext_password';
Why this works
MySQL automatically applies the correct hash format for the auth plugin.
What not to do
✕
Sources
Official documentation ↗
MySQL 8.0 — 2017 ER_PASSWORD_NO_MATCH
Content generated with AI assistance and reviewed for accuracy. Found an error? hello@errcodes.dev