php5.3 and mysqlnd authentication issue
Tags : php symfony
Upgrading a system is always fun and full of headaches, my last one was with the new mysqlnd extension from php 5.3. I cannot manage to connect to mysql from symfony.
I always get:
SQLSTATE[HY000] [2000] mysqlnd cannot connect to MySQL 4.1+ using old authentication
After struggling a while on google, I cannot find any solution. So I went back to the RTFM idiomatic expression.
It is what I found:
* php 5.3 now use a native extension to use mysql : mysqlnd
* my database credential was old (4 years old maybe) and still use the old mysql authentication
* mysqlnd needs the new 41bytes password
So the problem was easy to solve, just reset the user's password.
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('mypassword');
References:
* http://blog.felho.hu/what-is-new-in-php-53-part-3-mysqlnd.html
* http://dev.mysql.com/doc/refman/5.0/en/set-password.html
* http://dev.mysql.com/doc/refman/5.1/en/old-client.html
Tags : php symfony
Upgrading a system is always fun and full of headaches, my last one was with the new mysqlnd extension from php 5.3. I cannot manage to connect to mysql from symfony.
I always get:
SQLSTATE[HY000] [2000] mysqlnd cannot connect to MySQL 4.1+ using old authentication
After struggling a while on google, I cannot find any solution. So I went back to the RTFM idiomatic expression.
It is what I found:
* php 5.3 now use a native extension to use mysql : mysqlnd
* my database credential was old (4 years old maybe) and still use the old mysql authentication
* mysqlnd needs the new 41bytes password
So the problem was easy to solve, just reset the user's password.
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('mypassword');
References:
* http://blog.felho.hu/what-is-new-in-php-53-part-3-mysqlnd.html
* http://dev.mysql.com/doc/refman/5.0/en/set-password.html
* http://dev.mysql.com/doc/refman/5.1/en/old-client.html