mysqlnd cannot connect to MySQL 4.1+ using the old insecure authentication. Please use an administration tool to reset your password with the command SET PASSWORD = PASSWORD('your_existing_password'). This will store a new, and more secure, hash value in mysql.user. If this user is used in other scripts executed by PHP 5.2 or earlier you might need to remove the old-passwords flag from your my.cnf file
解决方案,我一个都没看懂,不过照着做了就好了,晕

SET old_passwords = 0;
UPDATE mysql.user SET Password = PASSWORD('2296508') WHERE User = 'root' limit 1;
SELECT LENGTH(Password) FROM mysql.user WHERE User = 'root';
FLUSH PRIVILEGES;

05-23 15:06