Я пытаюсь запустить PHP 5.4.1 (скомпилировано из исходного кода), но когда я пытаюсь подключиться к mysql, я получаю:
Warning: mysql_connect(): The server requested authentication method unknown to the client [mysql_old_password] in
При использовании PHP 5.3 / 5.2 работает нормально. Любые идеи о том, что вызывает эту проблему?
Попробуйте прочитать это: ссылка на сайт
MySQL представил более длинные хэши паролей в (я думаю) версии 4.1, и ваш сервер, вероятно, все еще использует их (проверьте 16-байтовые хэши паролей в вашей таблице пользователей mysql). В более новых версиях используются более длинные хэши паролей. Ваш сервер поддерживает оба, но ваш клиент (php), похоже, поддерживает только новые в этой версии (и в других).
Если возможно, используйте решение из ссылки в первой строке и снова установите пароль с новым хешем, но будьте осторожны, если вы используете какие-либо другие (старые) клиенты, которые полагаются на старые пароли, совместимость может нарушиться. Также попробуйте найти поддержку старых паролей для MySQL в PHP, но я не уверен в этом.
ALTER USER 'mysqlUsername'@'localhost' IDENTIFIED WITH mysql_native_password BY 'mysqlUsernamePassword';
Я знаю, что это старая тема, но я решил эту проблему, без необходимости что-либо обновлять / понижать. В основном я закомментировал строку old_passwords = 1 в моем файле my.cnf, перезапустил mysql, добавил / изменил пользователя, который в конечном итоге получил 16-байтовый хеш, затем я вернулся и раскомментировал строку old_passwords = 1 и перезапустил mysql. Итак, в основном:
Итак, у вас есть: 1 пользователь использует новый тип пароля, в то время как другие пользователи имеют свои старые типы пароля. И все могут войти! ;)
Много раз это может случиться, если ваш Сервер MySQL использует старый хэш пароля, измените пароль или обновите сервер, чтобы получить последний хэш пароля, устраняющий проблему аутентификации.
У меня было подобное сообщение при попытке обновить установку mediawiki. Я использую Netfirms в качестве своего хостинг-провайдера, и я решил это, войдя в панель управления, перейдя в область MySQL и изменив базу данных, которую использовал mediawiki. Затем я смог продолжить обновление mediawiki.