MySQL's PASSWORD() function [message #174481] |
Tue, 14 June 2011 18:03 |
qtrimble
Messages: 2 Registered: June 2011
Karma: 0
|
Junior Member |
|
|
I'm using WAMPSERVER for my development environment (MySQL v 5.1.553,
PHP v 5.3.4) . The software that I am modifying uses the MySQL
PASSWORD() function which works fine locally. After moving the code
and database to the production server (MySQL v 5.0.77, PHP v 5.3.3) I
cannot log in.
Is there anything other than the versions that could cause this
behavior? I was thinking maybe PHP extensions but I do not know what
the PASSWORD() function depends on.
|
|
|
Re: MySQL's PASSWORD() function [message #174482 is a reply to message #174481] |
Tue, 14 June 2011 18:13 |
Luuk
Messages: 329 Registered: September 2010
Karma: 0
|
Senior Member |
|
|
On 14-06-2011 20:03, qtrimble wrote:
> I'm using WAMPSERVER for my development environment (MySQL v 5.1.553,
> PHP v 5.3.4) . The software that I am modifying uses the MySQL
> PASSWORD() function which works fine locally. After moving the code
> and database to the production server (MySQL v 5.0.77, PHP v 5.3.3) I
> cannot log in.
>
> Is there anything other than the versions that could cause this
> behavior? I was thinking maybe PHP extensions but I do not know what
> the PASSWORD() function depends on.
Something changed about storing passwords in MySQL between version 4.x
and 5.0
A compatibility switch was introduced in 5.0
I think it no longer exists in 5.1
All info is here:
http://dev.mysql.com/doc/refman/5.1/en/password-hashing.html
If you have access to both systems check the output of:
SELECT PASSWORD('something');
and see if the output on both systems is the same,...
--
Luuk
|
|
|
Re: MySQL's PASSWORD() function [message #174484 is a reply to message #174482] |
Tue, 14 June 2011 18:41 |
qtrimble
Messages: 2 Registered: June 2011
Karma: 0
|
Junior Member |
|
|
On Jun 14, 2:13 pm, Luuk <L...@invalid.lan> wrote:
> On 14-06-2011 20:03, qtrimble wrote:
>
>> I'm using WAMPSERVER for my development environment (MySQL v 5.1.553,
>> PHP v 5.3.4) . The software that I am modifying uses the MySQL
>> PASSWORD() function which works fine locally. After moving the code
>> and database to the production server (MySQL v 5.0.77, PHP v 5.3.3) I
>> cannot log in.
>
>> Is there anything other than the versions that could cause this
>> behavior? I was thinking maybe PHP extensions but I do not know what
>> the PASSWORD() function depends on.
>
> Something changed about storing passwords in MySQL between version 4.x
> and 5.0
>
> A compatibility switch was introduced in 5.0
>
> I think it no longer exists in 5.1
>
> All info is here:http://dev.mysql.com/doc/refman/5.1/en/password-hashing.html
>
> If you have access to both systems check the output of:
> SELECT PASSWORD('something');
>
> and see if the output on both systems is the same,...
>
> --
> Luuk
The documentation states that prior to MySQL 4.1, password hashes
computed by the PASSWORD() function are 16 bytes long which is what
the result is when I tried your suggestion (SELECT
PASSWORD('something')) on my production server but my production
server MySQL version is 5.0.77. My development server is returning 41
byte. I also never did an upgrade which the documentation suggests
upgrading to 4.1 and then to 5 or higher. I installed 5.0.77
directly. This seems strange to me...any suggestions?
|
|
|
Re: MySQL's PASSWORD() function [message #174486 is a reply to message #174484] |
Tue, 14 June 2011 19:55 |
Jerry Stuckle
Messages: 2598 Registered: September 2010
Karma: 0
|
Senior Member |
|
|
On 6/14/2011 2:41 PM, qtrimble wrote:
> On Jun 14, 2:13 pm, Luuk<L...@invalid.lan> wrote:
>> On 14-06-2011 20:03, qtrimble wrote:
>>
>>> I'm using WAMPSERVER for my development environment (MySQL v 5.1.553,
>>> PHP v 5.3.4) . The software that I am modifying uses the MySQL
>>> PASSWORD() function which works fine locally. After moving the code
>>> and database to the production server (MySQL v 5.0.77, PHP v 5.3.3) I
>>> cannot log in.
>>
>>> Is there anything other than the versions that could cause this
>>> behavior? I was thinking maybe PHP extensions but I do not know what
>>> the PASSWORD() function depends on.
>>
>> Something changed about storing passwords in MySQL between version 4.x
>> and 5.0
>>
>> A compatibility switch was introduced in 5.0
>>
>> I think it no longer exists in 5.1
>>
>> All info is here:http://dev.mysql.com/doc/refman/5.1/en/password-hashing.html
>>
>> If you have access to both systems check the output of:
>> SELECT PASSWORD('something');
>>
>> and see if the output on both systems is the same,...
>>
>> --
>> Luuk
>
> The documentation states that prior to MySQL 4.1, password hashes
> computed by the PASSWORD() function are 16 bytes long which is what
> the result is when I tried your suggestion (SELECT
> PASSWORD('something')) on my production server but my production
> server MySQL version is 5.0.77. My development server is returning 41
> byte. I also never did an upgrade which the documentation suggests
> upgrading to 4.1 and then to 5 or higher. I installed 5.0.77
> directly. This seems strange to me...any suggestions?
Ask in comp.databases.mysql.
--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
jstucklex(at)attglobal(dot)net
==================
|
|
|
Re: MySQL's PASSWORD() function [message #174487 is a reply to message #174484] |
Tue, 14 June 2011 20:00 |
Luuk
Messages: 329 Registered: September 2010
Karma: 0
|
Senior Member |
|
|
On 14-06-2011 20:41, qtrimble wrote:
> On Jun 14, 2:13 pm, Luuk <L...@invalid.lan> wrote:
>> On 14-06-2011 20:03, qtrimble wrote:
>>
>>> I'm using WAMPSERVER for my development environment (MySQL v 5.1.553,
>>> PHP v 5.3.4) . The software that I am modifying uses the MySQL
>>> PASSWORD() function which works fine locally. After moving the code
>>> and database to the production server (MySQL v 5.0.77, PHP v 5.3.3) I
>>> cannot log in.
>>
>>> Is there anything other than the versions that could cause this
>>> behavior? I was thinking maybe PHP extensions but I do not know what
>>> the PASSWORD() function depends on.
>>
>> Something changed about storing passwords in MySQL between version 4.x
>> and 5.0
>>
>> A compatibility switch was introduced in 5.0
>>
>> I think it no longer exists in 5.1
>>
>> All info is here:http://dev.mysql.com/doc/refman/5.1/en/password-hashing.html
>>
>> If you have access to both systems check the output of:
>> SELECT PASSWORD('something');
>>
>> and see if the output on both systems is the same,...
>>
>> --
>> Luuk
>
> The documentation states that prior to MySQL 4.1, password hashes
> computed by the PASSWORD() function are 16 bytes long which is what
> the result is when I tried your suggestion (SELECT
> PASSWORD('something')) on my production server but my production
> server MySQL version is 5.0.77. My development server is returning 41
> byte. I also never did an upgrade which the documentation suggests
> upgrading to 4.1 and then to 5 or higher. I installed 5.0.77
> directly. This seems strange to me...any suggestions?
on the link it says:
The way in which the server generates password hashes for connected
clients is affected by the width of the Password column and by the
--old-passwords option. A 4.1 or later .....
which refers to:
http://dev.mysql.com/doc/refman/5.0/en/server-options.html#option_mysqld_ol d-passwords
--
Luuk
|
|
|
Re: MySQL's PASSWORD() function [message #174506 is a reply to message #174481] |
Wed, 15 June 2011 09:26 |
alvaro.NOSPAMTHANX
Messages: 277 Registered: September 2010
Karma: 0
|
Senior Member |
|
|
El 14/06/2011 20:03, qtrimble escribió/wrote:
> I'm using WAMPSERVER for my development environment (MySQL v 5.1.553,
> PHP v 5.3.4) . The software that I am modifying uses the MySQL
> PASSWORD() function which works fine locally. After moving the code
> and database to the production server (MySQL v 5.0.77, PHP v 5.3.3) I
> cannot log in.
>
> Is there anything other than the versions that could cause this
> behavior? I was thinking maybe PHP extensions but I do not know what
> the PASSWORD() function depends on.
I suppose you are talking about your application users, not MySQL users.
You can use OLD_PASSWORD() if you need to emulate the old format in a
new system:
http://dev.mysql.com/doc/refman/5.1/en/encryption-functions.html#function_o ld-password
SELECT PASSWORD('abcd'), OLD_PASSWORD('abcd')
*A154C52565E9E7F94BFC08A1FE702624ED8EFFDA 2e64a4f078c68549
--
-- http://alvaro.es - Álvaro G. Vicario - Burgos, Spain
-- Mi sitio sobre programación web: http://borrame.com
-- Mi web de humor satinado: http://www.demogracia.com
--
|
|
|