На самом деле установка достаточно проста и вся процедура занимает 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 также будут работать без проблем.
Комментариев нет :
Отправить комментарий