Установка СУБД MariaDB взамен MySQL

В жопу сгнивший MySQL сказал я себе.
О MariaDB вкратце я писал в предыдущей статье, сегодня я решил попробовать ее на своем сервере. Как и обещали разработчики — все ставится без проблем если у вас ранее был MySQL. Сносим полностью старые пакеты:
perl-DBD-MySQL-3.0007-2.el5
mysql-libs-5.0.91-1.el5
mysql-5.0.91-1.el5
php-mysql-5.2.17-1.el5
mysql-server-5.0.91-1.el5
Ну и если есть sphinx, то и его тоже. Далее скачиваем пакеты к себе в директорию / http://ftp.osuosl.org/pub/mariadb/mariadb-5.2.7/kvm-rpm-centos5-amd64/rpms/ версия 5.2.7 для 64 битных ЦП.
Устанавливаем

rpm -ivh MariaDB-*.rpm

Есть ошибки? Значит не весь MySQL удалили.
Установка…

1:MariaDB-shared ########################################### [ 25%]
2:MariaDB-client ########################################### [ 50%]
3:MariaDB-devel ########################################### [ 75%]
4:MariaDB-server ########################################### [100%]

Вводим

mysql_secure_installation

ставим пароль на root, закрываем доступ из вне, удаляем тестового юзера и БД.
Если путь к Бд у вас другой, то создаем папку к Бд ссылкой. Автозагрузка:

chkconfig mysql on

Да, да теперь не mysqld , а mysql.
На этом установка MariaDB закончена.

Из особенностей MariaDB, по сравнению с MySQL, можно отметить включение в состав следующих хранилищ:

* Maria — основанное на MyISAM высоконадежное хранилище, отличающиеся повышенной устойчивостью и сохранению целостности данных после краха, при полной совместимости с MyISAM. Благодаря ведению лога операций, в случае краха производится откат результатов выполнения текущей операции. Также поддерживается возможность восстановления состояния из любой точки в логе операций (включая поддержку CREATE/DROP/RENAME/TRUNCATE).

* В качестве замены InnoDB используется движок XtraDB, основанный на коде InnoDB-plugin и полностью совместимый с ним, но отличающийся заметно более высокой производительностью, благодаря интеграции патчей от компаний Google и Percona. В частности, в XtraDB улучшен механизм работы с памятью, улучшена работа подсистемы ввода/вывода InnoDB, добавлена поддержка нескольких потоков чтения и записи, поддержка управления пропускной способностью, реализация упреждающей выборкой данных (read-ahead), адаптивная установка контрольных точек (adaptive checkpointing), расширены возможности по масштабированию для больших проектов, система организации блокировок адаптирована для работы на системах с большим числом CPU, добавлены дополнительные возможности для накопления и анализа статистики.

* В состав включено хранилище PBXT (PrimeBase XT), разработанное с нуля и поддерживающее мультиверсионный метод организации хранения данных MVCC (multi-version concurrency control), позволяющий избавиться от блокировок при выполнении операций чтения. PBXT поддерживает ACID-совместимые транзакции, быстрый откат транзакций и восстановление после некорректного завершения работы сервера. Имеются средства для обеспечения ссылочной целостности данных, поддержка определения внешних ключей (foreign key), каскадных обновлений и удалений данных. Поддерживается возможность прямого потокового ввода и вывода бинарных данных (BLOB) в БД.

* В качестве замены разработанного в Sun Microsystems и уже не поддерживаемого хранилища Federated задействован проект FederatedX. FederatedX позволяет организовать обращение к удаленным таблицам как к локальным. Имеется поддержка транзакций, одновременной установки нескольких соединений к удаленной СУБД, использования операций «LIMIT».

Другие улучшения MariaDB:

* Реализована возможность создания пула потоков, позволяющего использовать заданное число mysql-нитей для обработки всех запросов, вместо механизма «одна нить на одно соединение». В итоге можно значительно увеличить производительность БД, обрабатывающих большое число соединений или имеющих большое число длительно выполняющихся запросов.

* Ликвидация таблиц — новый вид оптимизации операций по объединению таблиц (JOIN), позволяющий исключить обращения к некоторым таблицам, на которые ссылается запрос пользователя.

* Добавлено множество патчей, созданных компанией Percona и сообществом независимых разработчиков. Например, добавлен патч для выявления узких мест при работе с базой. Кроме отслеживания запросов выполняющихся более заданного времени, поддерживается занесение в лог информации о запросах приводящих к перебору большого числа строк, сложным сортировкам, задействованию временного файла на диске или удовлетворяющих параметрам заданного фильтра (qc_miss, full_scan, full_join, tmp_table, tmp_table_on_disk, filesort, filesort_on_disk). В отличии от стандартного механизма ведения лога медленных запросов, msl оперирует не секундами, с округлением в большую сторону, а отрезками 0.005 сек.

Из присутствующих в MariaDB 5.2 новшеств можно отметить:

* В комплект включено два новых экспериментальных хранилища:
o OQGRAPH — хранилище для организации иерархических (древовидных) структур и сложных графов (узлов, имеющих множество связей);
o Sphinx — хранилище для построения поисковых движков. Встроенный Sphinx-клиент позволяет MariaDB обмениваться данными с searchd, выполнять поисковые запросы и получать результаты поиска.

* Виртуальные столбцы, содержимое которых формируется на основе заданного выражения, рассчитываемого во время выполнения.

* Расширенная статистика об активности клиентов, пользователей, индексов и таблиц.

* Сегментированный кэш MyISAM-ключей — глобальный мьютекс разбит на несколько мьютексов, что дает существенный прирост производительности (до 70%) в системах с большой нагрузкой из параллельных запросов.

* Подключаемые модули аутентификации — возможность реализации плагинов, которые могут добавлять новые методы аутентификации в MariaDB.

* Привязанные к типу хранилищ выражения «CREATE TABLE», дающие возможность определить передаваемые хранилищу дополнительные атрибуты для каждого поля, индекса или таблицы.

* Добавление дополнительной информации о плагинах в таблицу INFORMATION_SCHEMA.PLUGINS.

* Поддержка групповых коммитов в движок Aria, увеличивающих скорость обработки множественных INSERT-запросов.

Из добавленных в версии 5.2.7 улучшений можно отметить:

Увеличена производительность работы внутренних временных таблиц, например, быстрее стали выполняться запросы при использовании «GROUP BY», но без агрегатных функций.

В состав сборки для платформы Windows включен GUI-интерфейс HeidiSQL, позволяющий просматривать, создавать и редактировать содержимое таблиц, а также управлять СУБД и изменять структуру БД. Код HeidiSQL распространяется в рамках лицензии GPL, но к сожалению программа поддерживает только платформу Windows.

Начиная с данного выпуска началось формирование готовых RPM-пакетов для дистрибутива RHEL 5, в дополнение к ранее формируемым пакетам для CentOS 5.

Проведено исправление ошибок, например, решена проблема с неверным приоритетом выполнения (nice -19) mysqld, устранен крах при работе с архивными партицированными таблицами в условиях нехватки файловых десктипторов.


Понравилась статья? Поделись с остальными.

Комментарии закрыты.