Depending on the interface you're using, you can code an "on demand" convert function. You can keep your server running with the --old-passwords option till all your passwords are converted.
So, you keep the --old-passwords option, when a user login, you test the password to see if its the new or old password format (simply SELECT the hash from the table and check its lenght, old passwords have an 8 char lenght, new have 16, AFAIK), if its old, you convert it. Its transparent for the users and eventually you'll have all your users converted to the new, more secure and better password format... You can check once in a while how many passwords are still in the old format. Anyway, its just an idea... On 12/11/06, Ahmad Al-Twaijiry <[EMAIL PROTECTED]> wrote:
Hi Thanks, this is easy and simple if I just have few users :) I have more than 30,000 users :) I think there is no way to do this so I have to use old-passwords option in the new servers :) Thanks On 12/11/06, Daniel da Veiga <[EMAIL PROTECTED]> wrote: > On 12/11/06, Ahmad Al-Twaijiry <[EMAIL PROTECTED]> wrote: > > Hi everyone > > > > I'm using mysqld with option "old-passwords" in my server (let's call > > it serverA) > > > > and in my application I use "UPDATE ..... SET > > USERPWD=PASSWORD('ABCD')" to set the users password > > > > now I want to move my database to another server (serverB) and the > > mysqld in this new server doesn't run with "old-passwords" > > > > so I dumped the databases from the first server (serverA) to a file > > using mysqldump command and I imported it to the new server (serverB) > > with command "mysql> source database.sql" > > > > now no one from my users can access to his account and I think it's > > because the old-passwords is not enabled in the new server (serverB) > > > > I can enable "old-passwords" in the new server but I don't want to do > > that (the new password format is more secure and better, right ?). > > > > > > so is there anyway to convert all the password in my database to the > > new password format ? > > > > Start your new server with the --old-passwords option, login with your > superuser (root or whatever you call it) and change its password to > the new format: > > SET PASSWORD FORv 'some_user'@'some_host' = PASSWORD('newpwd'); > > Then you can logout and restart your server without the > --old-passwords option, and still login with the superuser, and with > this account, you can set all your users passwords to the new format > with a command just like the one above, check: > > http://dev.mysql.com/doc/refman/5.0/en/password-hashing.html > > And you may find all information about passwords there. > > -- > Daniel da Veiga > Computer Operator - RS - Brazil > -----BEGIN GEEK CODE BLOCK----- > Version: 3.1 > GCM/IT/P/O d-? s:- a? C++$ UBLA++ P+ L++ E--- W+++$ N o+ K- w O M- V- > PS PE Y PGP- t+ 5 X+++ R+* tv b+ DI+++ D+ G+ e h+ r+ y++ > ------END GEEK CODE BLOCK------ > > -- > MySQL General Mailing List > For list archives: http://lists.mysql.com/mysql > To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED] > > -- echo "Hello World :)"
-- Daniel da Veiga Computer Operator - RS - Brazil -----BEGIN GEEK CODE BLOCK----- Version: 3.1 GCM/IT/P/O d-? s:- a? C++$ UBLA++ P+ L++ E--- W+++$ N o+ K- w O M- V- PS PE Y PGP- t+ 5 X+++ R+* tv b+ DI+++ D+ G+ e h+ r+ y++ ------END GEEK CODE BLOCK------ -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]