Я пытаюсь запустить 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, но я не уверен в этом.
источник
источник
Я знаю, что это старая тема, но я решил эту проблему без необходимости что-либо обновлять / понижать. В основном я закомментировал строку old_passwords = 1 в моем файле my.cnf, перезапустил mysql, добавил / изменил пользователя, который в итоге получил 16-байтовый хэш, затем вернулся и раскомментировал строку old_passwords = 1 и перезапустил mysql. Итак, в основном:
Итак, у вас есть: 1 пользователь использует новый тип пароля, в то время как другие пользователи имеют свои старые типы паролей. И каждый может войти! ;)
источник
Во многих случаях это может произойти, если ваш сервер MYSQL использует хэш старого пароля , измените пароль или обновите сервер, чтобы получить последний хэш пароля, который устраняет проблему аутентификации.
источник
У меня было похожее сообщение при попытке обновить мою установку MediaWiki. Я использую Netfirms в качестве своего хостинг-провайдера, и я решил эту проблему, войдя в панель управления, перейдя в область MySQL и изменив базу данных, которую использовал mediawiki. Затем я смог продолжить обновление MediaWiki.
источник