Задавайте вопросы, мы ответим
Вы не зашли.
Страниц: 1
На сервере стоит Windows 2003 x64 (64-х разрядная).
Стоит база данных mysql 5.0.67 32-х разрядная.
Есть несколько сервисов, которые стоят на том же сервере и работают с mysql через API
сервисы скомпилированы как 32-х разрядные с libmysql.lib, mysql.h и имеют в своем рабочем каталоге родную 32-х разрядную libmySQL.dll от версии 5.0.67
Сейчас планируется обновить на сервере mysql до версии 5.01.53 64 разряда!
Отсюда 2 вопроса:
1. Нужно ли вообще перекомпилировать заново все сервисы с новыми libmysql.lib, mysql.h от новой версии 5.01.53 или же можно ничего не трогать, при условии сохранности libmySQL.dll от версии 5.0.67 в рабочем каталоге сервисов? Ведь сервисы все равно не будут делаться 64-х разрядными. Или же если даже сервисы будут оставлены 32-х разрядными, то при смене mysql нужно обязательно перекомпилировать их для работы с базой через новую длл?
2. Правильно ли будет работать сочетание - сервер mysql 5.01.53 64-х разрядный, а сервисы будут общаться с его API через dll 32-х разрядной версии (или 32-х разрядной версии оставленной и неперекомпилированной 5.0.67 или замененной 32-х разрядной libmySQL.dll от версии 5.01.53, т.к. если сервисы 32-х разрядные то и длл используемая ими должна быть от 32-х разрядной версии)
Спасибо!
Неактивен
Клиент и сервер общаются по протоколу, который не зависит от разрядности
компьютеров (TCP/IP), поэтому можете смело обновлять только сервер.
1. Перекомпилировать не нужно — протокол не менялся уже много лет.
2. Да, будет работать правильно.
P.S. Но перед обновлением нужно сделать резервную копию данных и файлов
конфигурации — на всякий случай.
Неактивен
Да, протокол TCP/IP не менялся. Просто смутило то, что размер dll от версии 5.0.67 и 5.01.53 разный, подумал что может изменены внутри dll реализации таких функций как mysql_init, mysql_options, mysql_real_connect, mysql_query и т.д., которые используются в сервисах. Ну а если dll просто прозрачно отсылает эти функции по TCP/IP серверу и эти фуекции уже реализуются самой базой, то да, можно и не перекомпилировать все сервисы с новой dll.
Спасибо за ответ!
Неактивен
Я имел в виду протокол общения MySQL, который бегает поверх TCP/IP
Неактивен
Страниц: 1