Установка и обновление mysql во Freebsd
Установка и обновление mysql во Freebsd

По долгу своей занятости мне в последнее время часто приходится что-то устанавливать и настраивать на UNIX серверах. Я больше привык к «Виндовсу», где нужно просто нажимать на нужные кнопочки, поэтому на UNIX подобных ОС, даже такая несложная задача как обновить или установить Mysql, кажется мне какой-то непонятной  и сложной.Freebsd, для тех кто не знает, это операционная система, основанная на UNIX. Именно на этой ОС у меня стоит сервер. На этом же серваке имеется и сайт, крупный такой магазин автозапчастей, у которого база данных в 50Гб. Некоторые таблицы в БД просто сумасшедших размеров, до 150 млн. записей. Естественно в некоторых случаях выборка работала достаточно медленно, особенно если она была по нескольким критериям. Про запись строк в такие таблицы я вообще молчу, точнее про скорость записи… Ну да ладно, что-то я отклоняюсь от темы.

Короче говоря потребовалась такая технология, как партиционирование таблиц (о ней я напишу позже), которая ускоряет работу с большими таблицами в десятки раз. Но дело в том, что доступна она в mysql начиная с версии 5.1, а  на сервере 5.08, вот и пришлось обновляться. В Windows то оно легко, удалил, скачал новую, установил. А вот в Freebsd по началу как-то и непонятно, ведь под рукой только консольное окно shell, и как через него что-либо обновлять или устанавливать неизвестно.

И как всегда, все оказалось очень просто. В Freebsd есть так называемые порты  (/urs/ports) , это коллекция программ, готовых к установке. Оказалось, что Mysql 5.1 на севере уже лежит готовый к установке в этих самых портах. У меня это папка /usr/ports/databases/mysql51-server.

Само обновление mysql не предусматривает, поэтому нам надо сначала удалить старую версию, затем установить новую. Первым делом делаем резервную копию базы. То есть копируем папку /var/db/mysql, просто на всякий случай. Затем удаляем старый мускул :

cd /usr/ports/databases/mysql50-server/
make deinstall
cd /usr/ports/databases/mysql50-client/
make deinstall

И собственно приступаем к установке новой версии

cd /usr/ports/databases/mysql51-server/
make install clean

После установки новой версии mysql необходимо запускать утилитку /usr/local/bin/mysql_fix_privilege_tables , чтобы она внесла необходимые изменения в структуры таблиц.

Новая версия mysql установлена, однако в php могут возникнуть проблемы с подключением. Чтобы их избежать необходимо так же пересобрать расширения для php, которые используются для подключения к mysql

cd /usr/ports/databases/php5-mysql
make deinstall
make install clean

Если вы используете mysqli или другую версию php, используйте соответствующую директорию вместо  php5-mysql. Вообще советую посмотреть что у вас есть в  /usr/ports, можно много полезного найти.

Похожие записи

  • Нет похожих записей

Ваш комментарий

Я не робот