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 для сервера разработки:
Как мне настроить свой локальный сервер в соответствии с сервером разработки?
1 ответ
Версия PHP не является проблемой, так как в PHP 5.3 "старые" пароли MySQL больше не поддерживаются. Возможно, применяются два разных профиля разрешений. Вы подключаетесь к тому же серверу? Тогда может произойти нечто подобное:
User Host
youruser % (using old-style password)
youruser localhost (using new-style password)
То, что вы используете те же учетные данные, не обязательно означает, что они ссылаются на одну и ту же учетную запись или профиль разрешения.