KERNEL.PRO
19/05/2011
Добавлена версия стандарта C++
В главном меню сайта добавлена ссылка на нашу версию оформления кода на C++.
0

11/05/2011
Запуск сайта
Сегодня запущен портал
0


 › Статьи › MySQL › Обновление версии MySQL-Windows сервера с 5.0.39 до 5.1.52
Версия для печати RSS

Обновление версии MySQL-Windows сервера с 5.0.39 до 5.1.52

Автор: apple

Источник: www.kernel.pro

 

Из-за маленькой программы, которая напрочь отказывалась работать с сервером весии 5.0 из-за всего одного слова


KEY `ID_TRANSLATE` (`ID_TRANSLATE`) USING BTREE


Пришлось обновляться до версии 5.1. А точнее 5.1.52. Была одна проблемка – сервер рабочий, поэтому останавливать на долго нельзя.

Пошел на сайт www.mysql.com и скачал zip-архив с бинарниками mysql-noinstall-5.1.52-win32.zip, который предназначен для разработчиков. Весит это все 120 мегабайт, а в распакованном виде – более 500 мегабайт.

После скачивания надо удалить все лишнее – это все файлы отладочных символов с расширением *.pdb, каталоги Dics, Embedded, include, lib, mysql-test, scripts, sql-bench. после этого размер сервера базы данных стал 75 мегабайт. Выяснилось также, что основной файл севиса переименован. Раньше он назывался mysqld-nt.exe, а сейчас стал mysqld.exe. Более того, в службах были выставлены зависимости от сервиса MySQL. Так что удалением старой версии нужно было бы править и их. Был выбран иной путь.

В директории, в которой находится каталог, MySQL-5.0 был создан каталог MySQL-5.1, куда скопирован файл конфигурации my.ini из MySQL-5.0.

Далее надо заменить в файле my.ini параметр рабочего каталога MySQL-сервера. Например:


basedir="C:Server/MySQL-5.0"


на


basedir="C:Server/MySQL-5.1"


Далее из бекапа в новый каталог баз данных были скопированы все базы и изменен параметр


datadir="C:Server/MySQL-5.1/data"


Пытаемся запустить файл сервера MySQL-5.1 в качестве приложения:


> binmysqld --defaults-file=C:\Server\MySQL-5.1\my.ini --standalone


Получилось! Однако, есть несколько Warning's.

 

Правим файл конфигурации my.ini

 

 

И перезапускаем mysqld.exe

 

 

Оставшееся предупреждение примем к сведению и править на будем.

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

Теперь открываем реестр и правим название исполняемого файла службы MySQL:

 

 

Здесь мы меняем в параметре ImagePath имя исполняемого файла. Путь оставим прежний – C:Server/MySQL – так как сервер MySQL версии 5.1.52 исправно работает, предыдущий сервер 5.0.39 уже не нужен.

Также ImagePath нужно изменить в разделах


HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet001\Services\mysql

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet002\Services\mysql

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet...\Services\mysql


Нахождение нужных разделов делается простым поиском по реестру слова mysqld-nt.exe.


Теперь надо указать в файле my.ini каталог с текущими базами данных (сейчас там стоит резервная версия баз). Далее остановить службу сервера MySQL, переименовать «старый» каталог сервера в другое имя, переименовать «новый» каталог с версией 5.1.52 в имя старого каталога, внести изменения в реестр и, наконец, запустить службу.

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


Однако, сейчас мы должны выполнить mysql_upgrade.exe, чтобы обновить таблицы баз даных – в противном случае даже если все сейчас работает, в будущем могут вылезти баги:

 

 

И только сейчас можно создать первую новую базу данных.

 



      Копирование материалов сайта возможно только при размещении прямой ссылки на www.kernel.pro