Архив рубрики ' MySQL '

Соединяемся старым клиентом MySql с сервером выше 4й версии

Thursday, November 13th, 2008

При попытке соединения с сервером базы данных Mysql версии 4.1 и выше с помощью php старых версий, который использует расширение mysql для работы с MySql ниже версии 4.1 можно получить следующее сообщение об ошибке:

Client does not support authentication protocol requested by server; consider upgrading MySQL client

А дело в том, что Mysql 5.0 и 4.1 используют протокол аутентификации, основанный на алгоритме хеширования паролей, отличный от предыдущих версий.

Поэтому, чтобы избавиться от ошибки можно либо обновить клиент до версии сервера, либо (если обновление клиента связано с определенными трудностями) создать юзера mysql со старым паролем или же обновить пароль существующему, используя функцию со старым алгоритмом хеширования. Воспользуемся данным sql запросом.

SQL:
  1. SET PASSWORD FOR 'some_user'@'some_host' = OLD_PASSWORD('newpwd');

Или используя UPDATE и FLUSH PRIVILEGES:

SQL:
  1. UPDATE mysql.user SET Password = OLD_PASSWORD('newpwd') WHERE Host = 'some_host' AND User = 'some_user';
  2. FLUSH PRIVILEGES;

Еще можно стартовать mysql c опцией --old-passwords, но я этот способ не считаю целесообразным.

Что же касается php старых версий, которые еще встречаются на серверах клиентов и в которых расширение mysql не поддерживает алгоритм хеширования версий mysql выше 4.0, то можно воспользоваться расширением mysqli (MySQL Improved Extension).

Почитать

Performance Tuning Best Practices for MySQL

Friday, April 20th, 2007

Видео из Google TechTalks, старенькое, но интересное. (more...)

Вывод debug информации в ADODB после содержимого

Thursday, March 1st, 2007

Для того, чтобы получить вывод debug информации в ADODB, необходимо установить debug = true. Тогда будут показываться SQL запросы перед выполнением, а также будут отображаться сообщения об ошибках. Но то, что это все идет перед, собственно, содержимым - меня лично напрягает. Приходиться пролистывать скролингом все эти выводы запросов. Предлагаю вниманию небольшой код, который позволит выводить debug информацию после вывода содержимого страницы. (more...)

End of Product Lifecycle.

Tuesday, February 27th, 2007

Именно с таким заголовком весит объявление на http://dev.mysql.com/doc/refman/4.1/en/index.html. Активная разработка и поддержка для серверов базы данных MySQL версий 3.23, 4.0 и 4.1 закончена. Хотя для версий 4.0 и 4.1 будет работать Extended Support, которая заканчивается 2008-12-31 и 2009-12-31 соответственно. В соответствии с MySQL Lifecycle Policy будут исправляться только баги Security Level 1 в этих версиях. Советуют всем обдумать переход на MySQL 5.0 или 5.1