The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"проблема с доступов в MySQL 5.1"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [Проследить за развитием треда]

"проблема с доступов в MySQL 5.1" 
Сообщение от roman Искать по авторуВ закладки(??) on 25-Ноя-05, 05:54  (MSK)
Приветствую.

На свежеустановленном Mysql при попытке соединения к базе из своего приложения (которое ранее успешно работало с mysql-4.x) (grant privileges дадены) такая ошибка:

mysql_real_connect(): Client does not support authentication protocol requested by server; consider upgrading MySQL client

Из приложения вызывается функция mysql_real_connect(), в параметрах которй пользовательский ID, пароль, имя базы.

Возможно, что-то нужно подкрутить в настройках mysql?

Заранее благодарю!

  Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Сообщения по теме [Сортировка по времени, UBB]

1. "проблема с доступов в MySQL 5.1" 
Сообщение от Wizard Искать по авторуВ закладки(??) on 25-Ноя-05, 06:18  (MSK)
Пересобрать библиотечку надо которой пользуется твой клиент. Ибо автоматом подмены не будет номера версий совсем не те.
Если эту сторону вопроса проверил. Ну тогда давай доп. инфу.
  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "проблема с доступов в MySQL 5.1" 
Сообщение от roman Искать по авторуВ закладки(??) on 25-Ноя-05, 07:28  (MSK)
>Пересобрать библиотечку надо которой пользуется твой клиент. Ибо автоматом подмены не будет
>номера версий совсем не те.
>Если эту сторону вопроса проверил. Ну тогда давай доп. инфу.
я предполагал, что должна быть совместимость библиотек?
Проверю, спасибо за совет.
  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "проблема с доступов в MySQL 5.1" 
Сообщение от aliv Искать по авторуВ закладки(??) on 25-Ноя-05, 09:44  (MSK)
сервер и клиент должны быть одной версии.
у Вас видимо mysql-server 5.1
а mysql-client 4
переставте клиента и все
  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

4. "проблема с доступов в MySQL 5.1" 
Сообщение от roman Искать по авторуВ закладки(??) on 25-Ноя-05, 16:01  (MSK)
>сервер и клиент должны быть одной версии.
>у Вас видимо mysql-server 5.1
>а mysql-client 4
>переставте клиента и все
с нумерацией все в порядке - и клиент и сервер одной версии.
  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

5. "проблема с доступов в MySQL 5.1" 
Сообщение от Lancelot emailИскать по авторуВ закладки on 25-Ноя-05, 19:56  (MSK)
http://dev.mysql.com/doc/refman/5.0/en/mysql-real-connect.html
обратите внимание на опцию "--old-protocol" демона mysqld возможно она Вам поможет.

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

6. "проблема с доступов в MySQL 5.1" 
Сообщение от roman Искать по авторуВ закладки(??) on 26-Ноя-05, 06:17  (MSK)
Приветствую.

Больше спасибо за ответы, в результате исследований выяснил, что проблема скорее всего не в MySQL, а где-то в недрах языка С :)

#define MSGLEN 32
#define BUFFLEN 1024

int db_init(MYSQL *Conn)
{
MYSQL *c;

c = malloc(sizeof(MYSQL));
if ( c == NULL )
return 0;

memcpy(c, Conn, sizeof(MYSQL));
/* initialize the connection object here */
if ( mysql_init(Conn) == NULL ) {
free(c);
return FAIL;
}
  
/* connect main database here */
if( !mysql_real_connect(Conn, c->host, c->user, c->passwd, c->db, 0, NULL, 0) ) {
free(c);
return DB_DOWN;
}

/* select database */
if( mysql_select_db(Conn, c->db) ) {
free(c);
return FAIL;
}
free(c);
return SUCCESS;
}

typedef struct msg_s {
unsigned char msg_flag;
        unsigned char msg_type;
        unsigned char msg_rc;           /* reply code */
        char msg_id[MSGLEN];
        char msg_passwd[MSGLEN];
        char msg_fqdn[MSGLEN];
        char msg_ipaddr[MSGLEN];
char msg_serialno[MSGLEN];
} msg_t;

msg_t *msg, *msg2;
MYSQL conn;
...
msg = malloc( sizeof(msg_t) );
msg2 = malloc( sizeof(msg_t) );
if ( !msg || !msg2 ) {
  /* error message */
  exit(EXIT_FAILURE);
}

/* здесь вызывается функция, получающая из сети сообщение содержащее данные типа структуры msg_t. Данные приходят верные, проверено */

/* сохраним копию буфера */
memcpy(msg2, msg, sizeof(msg_t));

/* готовимся к инициализации MySQL */
conn.host = "192.168.11.22";
conn.user = "user";
conn.passwd = "pass";
conn.db = "userdb";

if ( db_init(&conn) != SUCCESS ) {
  /* error message */
  ...
}

И вот уже здесь, на этом этапе, независимо от успеха-удачи функции db_init() указатель msg и msg2 указывают на адрес 0x00! Дальнейшая работа с этим указателем приводит к segmentation fault.

Почему так происходит, может ли кто подсказать по имеющейся информации?
Заранее благодарю.

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

7. "проблема с доступов в MySQL 5.1" 
Сообщение от ram_scan Искать по авторуВ закладки on 26-Ноя-05, 09:58  (MSK)
>Заранее благодарю!

Браза, ну есть же гугель и mysql.com в конце-концов...
http://dev.mysql.com/doc/refman/5.0/en/old-client.html

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

8. "проблема с доступов в MySQL 5.1" 
Сообщение от roman Искать по авторуВ закладки(??) on 26-Ноя-05, 10:38  (MSK)
>>Заранее благодарю!
>
>Браза, ну есть же гугель и mysql.com в конце-концов...
>http://dev.mysql.com/doc/refman/5.0/en/old-client.html
Разобрался, проблема решена.
Спасибо за участие ;)
  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх


Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру