В своем коде попробуйте заключить пароль в одинарные кавычки. В качестве альтернативы, согласно документации mysql, должно работать следующее:
SET PASSWORD FOR 'jeffrey'@'localhost' = PASSWORD('cleartext password');
FLUSH PRIVILEGES;
Последняя строка важна, иначе изменение пароля, к сожалению, не вступит в силу.
РЕДАКТИРОВАТЬ:
Я провел тест у себя дома, и он сработал -
mysql> set password for 'test' = PASSWORD('$w0rdf1sh');
Query OK, 0 rows affected (0.00 sec)
У меня версия 5. Вы можете использовать следующую команду, чтобы определить свою версию -
SHOW VARIABLES LIKE "%version%";