Details
-
Task
-
Status: Closed (View Workflow)
-
Minor
-
Resolution: Fixed
-
None
Description
In 10.4, SET_PASSWORD = PASSWORD(...) works for users identified via ed25519. This is noted in documentation.
To identify such users, PASSWORD() produces a hashed string of a format different than usual, e.g. for 'secret' it will be ZIgUREUg5PVgQ6LskhXmO+eZLS0nC8be6HPjYWR4YJY and not *14E65567ABDB5135D0CFD9A70B3032C179A49EE7.
However, documentation for the PASSWORD function doesn't mention it, it still claims that the function always produces a 41-char-long line starting with *.
So, back to 10.4-specific part of documentation for ed25519, it says that the password can now be set as
SET PASSWORD = PASSWORD('secret') |
It is technically correct, but without mentioning the internal magic, it presumes that one can split the statement in two – first, do
SELECT PASSWORD('secret') |
and then feed its result to SET PASSWORD as
SET PASSWORD = '*14E65567ABDB5135D0CFD9A70B3032C179A49EE7' |
which is not true, it causes the error
ERROR 1210 (HY000): Incorrect arguments to SET |
So, I suggest th extend the description of PASSWORD() function and add a note to the description of ed25519 plugin about the special behavior of the function.