Смена пароля пользователя MySQL

NeoLynx

Новичок
Смена пароля пользователя MySQL

Подскажите, каким образом изменить пароль пользователя MySQL?

Я пишу:
mysql_db_query($db_name, "SET PASSWORD FOR '$name'@ '%' = PASSWORD('$newpass')");

запрос взял с сайта MySQL:
http://www.mysql.com/doc/en/Passwords.html

SQL мне упорно говорит:
You have an error in your SQL syntax near '%`= PASSWORD('5555')' at line 1

я понимаю, что ошибка в синтаксисе, но в каком именно месте не пойму.
 

tony2001

TeaM PHPClub
PHP:
mysql_db_query($db_name, "SET PASSWORD FOR '$name'@ '%' = PASSWORD('$newpass')");
=>
PHP:
mysql_select_db($db_name);
mysql_query("SET PASSWORD FOR '".$name."@%' = PASSWORD('".$newpass."')");
 

NeoLynx

Новичок
Сделал, ошибка изменилась на:
Can't find any matching row in the user table

пользователь точно есть в базе и именно с таким $name, которе передается запросу.
 

Апельсин

Оранжевое создание
NeoLynx, выполни FLUSH PRIVILEGES и посмотри выдает тебе ту же ошибку или нет?
 

NeoLynx

Новичок
Сменил пароль написав:

mysql_query("SET PASSWORD FOR '$name' = PASSWORD('$newpass')");

Теперь вопрос, для чего было указывать @% ?
 

Апельсин

Оранжевое создание
> Теперь вопрос, для чего было указывать @% ?

для того, что бы указывать какому именно пользователю ты меняешь пароль.
пользователь идентифицируется по паре имя пользователя/ имя хоста.
 

NeoLynx

Новичок
другими словами если у меня будет два пользователя:

% db040011
localhost db040011

то запрос
mysql_query("SET PASSWORD FOR 'db040011' = PASSWORD('$newpass')");

неверен.

сенкс, дальше я сам.
 
Сверху