diff options
author | unknown <vva@eagle.mysql.r18.ru> | 2004-03-16 19:35:46 +0400 |
---|---|---|
committer | unknown <vva@eagle.mysql.r18.ru> | 2004-03-16 19:35:46 +0400 |
commit | e1f771b23e6e87da26ed152e8f49c763c2cf8ecd (patch) | |
tree | 09c5fcf2b00b20c431a7ee9516e0dd8054850f5d /client | |
parent | efecd744f9d0435251486d0b2b2bae2ffb95692c (diff) | |
parent | fe7159bb1bce1d1bbadb3c9954431d9de2c97bdf (diff) | |
download | mariadb-git-e1f771b23e6e87da26ed152e8f49c763c2cf8ecd.tar.gz |
Merge bk@gate:/home/bk/mysql-4.1
into eagle.mysql.r18.ru:/home/vva/work/BUG_3160/mysql-4.1
Diffstat (limited to 'client')
-rw-r--r-- | client/mysqladmin.c | 27 |
1 files changed, 24 insertions, 3 deletions
diff --git a/client/mysqladmin.c b/client/mysqladmin.c index f263d321a7b..7fcba3cf803 100644 --- a/client/mysqladmin.c +++ b/client/mysqladmin.c @@ -787,9 +787,30 @@ static int execute_commands(MYSQL *mysql,int argc, char **argv) } if (mysql_query(mysql,buff)) { - my_printf_error(0,"unable to change password; error: '%s'", - MYF(ME_BELL),mysql_error(mysql)); - return -1; + if (mysql_errno(mysql)!=1290) + { + my_printf_error(0,"unable to change password; error: '%s'", + MYF(ME_BELL),mysql_error(mysql)); + return -1; + } + else + { + sprintf(buff,"UPDATE mysql.user SET password='%s' WHERE user='%s' and" + " host=substring_index(user(),_utf8\"@\",-1)", + crypted_pw, user); + if (mysql_query(mysql,buff)) + { + my_printf_error(0,"unable to update user table; error: '%s'", + MYF(ME_BELL),mysql_error(mysql)); + return -1; + } + if (mysql_query(mysql,"set sql_log_off=0")) + { + my_printf_error(0, "Can't turn on logging; error: '%s'", + MYF(ME_BELL),mysql_error(mysql)); + return -1; + } + } } argc--; argv++; break; |