Перейти к контенту
  • 0

ipb 2.1.x


foolly

Вопрос

При попытке установить форум с 4 мускулом, выдёт ошибку что невозможно подключиться к базе: типа у юзера мало админских прав или что-то такое.

Помню кто-то кидал ссылки на решение этой проблемы, но в поиске так и не нашол, да и ответа мне в той теме толкового не дали.

 

Очень хочется, чтобы подробно объяснили что надо сделать с мускулом чтобы исправить эту ошибку

Ссылка на комментарий
Поделиться на других сайтах

Рекомендуемые сообщения

  • 0
Случайно не пишет (mysql_connect()) Client does not support authentication protocol requested by server; consider upgrading MySQL client. Вы не имеете прав подключения к серверу? Изменено пользователем Hugo Weaving
Ссылка на комментарий
Поделиться на других сайтах

  • 0
именно это, хотя когда подключаюсь к базе через клиент(EngInSite MySQL Client) то захожу нормально
Ссылка на комментарий
Поделиться на других сайтах

  • 0

Начиная с версии 4.1, в MySQL используется новый протокол аутентификации. В новом протоколе алгоритм хеширования данных аутентифмкации отличается от алгоритма более ранних версий сервера MySQL. По сути вся проблема сводится к тому, что хеш пароля

mypass” в версиях старше 4.1 (т.е. 4.1.*, 5.0.* и т.д.) имеет вид *6C8989366EAF75BB670AD8EA7A7FC1176A95CEF4 (строка длиннее 41 байта), и тот же пароль ”mypass” в версиях младше 4.1. (т.е. 4.0.*, 3.23.* и т.д.) имеет вид 6f8c114b58f2ce9e (строка 16 байт)

 

 

Теперь возникает ситуация. Вы обновляете сервер до версии старше 4.1., а клиент у Вас остается старый. Вы все правильно установили, сервер нормально запустился. Вы запускаете клиента, вводите логин и пароль соответствующей учетной записи, нажимаете Enter, Ваш СТАРЫЙ клиент хеширует данные авторизации по СТАРОМУ алгоритму и передает их на сервер. Сервер принимает эти данные и сранивает их с данными из таблицы mysql.user. В результате такого сравнения сервер видит, что хеши паролей не совпадают (всего 16 байт, вместо ожидаемых, как минимум, 41-го байта). Вследствие чего, сервер выдает вполне информативное сообщение:

 

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

Изменено пользователем Hugo Weaving
Ссылка на комментарий
Поделиться на других сайтах

  • 0

Посмотрел сейчас так и есть, и как мне теперь пароль писать?

в таком виде *6C8989366EAF75BB670AD8EA7A7FC1176A95CEF4

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Забыл написать взято с: http://phpclub.ru/faq/wakka.php?wakka=MySQLOldPassword.

 

Там и ищи решение.

 

 

ps. у меня была такая же проблема при установки форума vBulletin для одного из университетов, после описанного решения проблема исчезла.

Изменено пользователем Hugo Weaving
Ссылка на комментарий
Поделиться на других сайтах

  • 0

Прочив это я конечно немного понял, но всёже мозг у меня не под это явно заточен ):

Немоглибы вы описать в кратце что нужно сделать?

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Чтобы решить возникшую проблему, можно пойти по одному из следующих путей:

 

1. Обновить всех клиентов (их библиотеки) до версии 4.1.1 или старше. Этот вариант идеальный, но не всегда подходит, потому что не для всех приложений существуют соответствующие обновленные библиотеки.

 

2. Создать для «старых» клиентов учетные записи, которые хранят хеш пароля в старом формате.

 

3. Для каждой учетной записи задать хеш пароля в старом формате.

 

Это делается с помощью одной из двух конструкции:

SET PASSWORD FOR 'some_user'@'some_host' = OLD_PASSWORD('newpwd');
UPDATE mysql.user SET Password = OLD_PASSWORD('newpwd') WHERE Host = 'some_host' AND User = 'some_user';
FLUSH PRIVILEGES;

Задать серверу в файле конфигурации (my.ini, my.cnf) директиву, которая указывает серверу использовать старый алгоритм хеширования пароля. Эта директива:

-- old-passwords option

При этом не забудь, что нужно будет конвертировать хеши паролей из нового формата в старый формат. Это нужно будет сделить для всех учетных записей, у которых хеш пароля уже хранится в новом формате.

Для того, что бы выбрать пользователей, у которых хеши паролей хранятся в новом формате нужно написать запрос вида:

SELECT Host, User, Password FROM mysql.user WHERE LENGTH(Password) > 16;

Далее, для каждого пользователя в полученной таблице ты конвертируешь пароль любым из вариантов, предложенным пунктом выше.

 

©

Изменено пользователем Hugo Weaving
Ссылка на комментарий
Поделиться на других сайтах

  • 0
эм...я хотел чтобы вы вот именно вот это описали простым языком, эх... ничерта непонимаю в этом ):
Ссылка на комментарий
Поделиться на других сайтах

  • 0

единсвенное чего добился своими силами

 

 

Внимание! 

Указанные ниже ошибки должны быть обязательно исправлены перед тем, как продолжить!
Пожалуйста, вернитесь назад и попробуйте снова! 

CREATE TABLE pcw_admin_logs ( id bigint(20) NOT NULL auto_increment, act varchar(255) default NULL, code varchar(255) default NULL, member_id int(10) default NULL, ctime int(10) default NULL, note text, ip_address varchar(255) default NULL, PRIMARY KEY (id) ) TYPE=MyISAM;

User 'fo011y' has exceeded the 'max_questions' resource (current value: 99) 

 

 

выполнил вот это

 

mysql> UPDATE mysql.user SET Password = OLD_PASSWORD('FUCKIN_PW') WHERE Host = 'loc
alhost' AND User = 'fo011y'; FLUSH PRIVILEGES;

 

может всётаки ктонибудь подскажит как это сделать без заморочек?(т.е. своими словами)

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Да помогите же

 

 

Попытка первая

mysql> SELECT 85.30.194.172, fo011y, mypass FROM mysql.user WHERE LENGTH(mypass) > 16;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.194.172, fo011y, mypass FROM mysql.user WHERE LENGTH(mypass) > 16' at line 1

 

Попытка вторая

mysql> SELECT localhost, fo011y, 051288 FROM mysql.user WHERE LENGTH(051288) > 1
6;
ERROR 1054 (42S22): Unknown column 'localhost' in 'field list'

 

 

ЗЫ: такие блин все умные, что даже ответить нормально никто не может :D

Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить на вопрос...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.