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: