Bug #75928 Set password syntax not accepted
Submitted: 17 Feb 2015 9:42 Modified: 18 Feb 2015 5:54
Reporter: Daniël van Eeden (OCA) Email Updates:
Status: Duplicate Impact on me:
Category:MySQL Server: Security: Privileges Severity:S2 (Serious)
Version:5.7.6-m16 OS:Any
Assigned to: CPU Architecture:Any
Tags: regression

[17 Feb 2015 9:42] Daniël van Eeden
This syntax (copied from the manual) is not accepted by the server:
SET PASSWORD = PASSWORD('cleartext password');

How to repeat:
mysql [localhost] {root} (mysql) > SET PASSWORD = PASSWORD('cleartext password');
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'PASSWORD('cleartext password')' at line 1
mysql [localhost] {root} (mysql) > SELECT PASSWORD('cleartext password');
| PASSWORD('cleartext password')            |
| *7F748B224136BAF824D3FF63F0C5B18BB93CFA8B |
1 row in set (0.00 sec)

mysql [localhost] {root} (mysql) > SET PASSWORD = '*7F748B224136BAF824D3FF63F0C5B18BB93CFA8B';
Query OK, 0 rows affected (0.00 sec)
mysql [localhost] {root} (mysql) > SELECT @@default_authentication_plugin, @@old_passwords\G
*************************** 1. row ***************************
@@default_authentication_plugin: mysql_native_password
                @@old_passwords: 0
1 row in set (0.00 sec)
[18 Feb 2015 5:54] Umesh Shastry
Hello Daniël,

Thank you for the report.
This is duplicate of Bug #75927
Currently SET PASSWORD = PASSWORD () is removed as syntax and Bug #75927 confirms that it should throw a deprecation warning instead of the SQL syntax error.