AddThis Smart Layers

вторник, 29 июля 2014 г.

Как установить MariaDB на сервер под управлением cPanel

Несмотря на то что на дворе уже август 2014 года, cPanel добралась до версии 11.40.х, а сервер баз данных MariaDB до версии 10.0.х, до сих пор приходится устанавливать этот альтернативный сервер вручную.

На самом деле установка достаточно проста и вся процедура занимает 10-15 минут, с учетом бекапов существующих баз данных.

Прежде всего, стоит понять, а зачем вообще нужно менять сервер MySQL на MariaDB. Начиная с версии MySQL 5.6 судя по всевозможным тестам, этот сервер выдает очень даже впечатляющие результаты в производительности.

На всякий случай повторюсь, ниже речь пойдет о сервере MariaDB 10.0, который является альтернативой MySQL 5.6.


Официальный документ о преимуществах MariaDB перед MySQL можно почитать на оффсайте.

Нас же интересует лишь два аспекта - более высокая производительность для баз данных использующих архитектуру InnoDB и оптимизация ресурсов сервера на высоконагруженных проектах.
Мы работаем с Magento, платформой, которая активно использует архитектуру InnoDB и при этом довольно требовательной к ресурсам. И это достаточно веская причина для поиска альтернативных решений.

На данный момент несколько наших довольно нагруженных сайтов уже работают в пилотном режиме с новым движком. Где-то через месяц можно будет проанализировать результаты.

А пока что собственно мануал по замене MySQL на сервере под управлением cPanel 1.40.х на MariaDB 10.0

Мы работаем с операционной системой CentOS, поэтому все нижеследующие действия релевантны для ядра RedHat. В других системах, таких как Debian некоторые системные команды могут отличаться.

Вся процедура выполняется из терминала SSH с правами root.

Первый этап: Бекап

На всякий случай сделаем копию всех существующих баз данных и файла настроек.
cp -Rf /var/lib/mysql /var/lib/mysql-old
mv /etc/my.cnf /etc/my.cnf-old

Второй этап: Разрыв связи между MySQL дистрибутивами и cPanel

Данная процедура необходима, чтобы при последующих апдейтах cPanel не пытался апдейтить несущестующие дистрибутивы MySQL.
/scripts/update_local_rpm_versions --edit target_settings.MySQL50 uninstalled
/scripts/update_local_rpm_versions --edit target_settings.MySQL51 uninstalled
/scripts/update_local_rpm_versions --edit target_settings.MySQL55 uninstalled
/scripts/update_local_rpm_versions --edit target_settings.MySQL56 uninstalled

Третий этап: Удаление дистрибутивов MySQL из системы

Прежде чем устанавливать MariaDB нужно предварительно "подготовить почву", т.е. удалить MySQL во избежание конфликтов.
/scripts/check_cpanel_rpms --fix --targets=MySQL50,MySQL51,MySQL55,MySQL56

Четвертый этап: Создание yum репозитория MariaDB

nano /etc/yum.repos.d/MariaDB.repo

Теперь нужно перейти на страницу дистрибутивов MariaDB и выбрать тот, что соответствует вашей системе.

В моем случае содержимое репозитория будет следующим:
# MariaDB 10.0 CentOS repository list - created 2014-07-29 10:26 UTC
# http://mariadb.org/mariadb/repositories/
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.0/centos6-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1

Пятый этап: Временное удаление PHP из основного yum репозитория cPanel

nano /etc/yum.conf
Находим в файле сточку
exclude=bind-chroot courier* dovecot* exim* filesystem httpd* mod_ssl* mydns* mysql* nsd* php* proftpd* pure-ftpd* ruby* spamassassin* squirrelmail*
и удаляем из нее php*
После того как MariaDB будет установлен мы эту запись вернем на место.

Шестой этап: Установка и запуск MariaDB сервера

yum install MariaDB-server MariaDB-client MariaDB-devel
/etc/init.d/mysql start
mysql_upgrade
/etc/init.d/mysql restart

Седьмой этап: Возвращаем PHP в основной yum репозиторий

nano /etc/yum.conf
Находим в файле сточку
exclude=bind-chroot courier* dovecot* exim* filesystem httpd* mod_ssl* mydns* mysql* nsd* proftpd* pure-ftpd* ruby* spamassassin* squirrelmail*
и сразу после nsd* добавляем php*

Восьмой этап (опциональный): Rebuild easyapache

Нет необходимости делать эту процедуру из консоли, можно через интерфейс WHM
/scripts/easyapache --build

На этом установка сервера баз данных MariaDB закончена.

Теперь, если в файле /etc/my.cnf были сделаны какие-то оптимизации, можно их вернуть на место. Ранее я уже писал об оптимизации MySQL 5.6, в принципе все то же самое остается актуально и для MariaDB. Позже напишу отдельный пост на тему опцимизации MariaDB.

PhpMyAdmin замечательно работает с MariaDB, также как и сторонние клиенты, такие как Navicat.

Инстументы для тюнинга и оптимизаций, такие как tuner-primer.sh или mysqltuner.pl также будут работать без проблем.

Комментариев нет :

Отправить комментарий