Mysqlnd не может подключиться к серверу MySQL 5.5

Я пытаюсь получить сайт, работающий локально, который в настоящее время работает на сервере разработки под управлением PHP 5.3.10. Он подключается к серверу MySQL версии 5.5, но имеет old_passwords установлен в ON,

Сайт работает на сервере разработчиков.

На моем локальном компьютере я использую PHP 5.3.26, и при попытке подключения я получаю:

Warning: mysql_connect() [<a href='function.mysql-connect'>function.mysql-connect</a>]: 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

Я понимаю, что это проблема с переменной old_password, но она работает на сервере dev с PHP 5.3.

Изменить: вот мой местный раздел MySQL от phpinfo():mysql phpinfo

Раздел MySQL для сервера разработки:mysql phpinfo

Как мне настроить свой локальный сервер в соответствии с сервером разработки?

1 ответ

Решение

Версия PHP не является проблемой, так как в PHP 5.3 "старые" пароли MySQL больше не поддерживаются. Возможно, применяются два разных профиля разрешений. Вы подключаетесь к тому же серверу? Тогда может произойти нечто подобное:

User       Host      
youruser   %           (using old-style password)
youruser   localhost   (using new-style password)

То, что вы используете те же учетные данные, не обязательно означает, что они ссылаются на одну и ту же учетную запись или профиль разрешения.

Другие вопросы по тегам