Назад | Перейти на главную страницу

Каков самый простой способ заставить MySQL Archive Storage Engine работать на CentOS 5.4

Механизм хранения архивов не включен сборкой MySQL по умолчанию в CentOS / RHEL. Я хотел бы включить его на нашем сервере CentOS 5.4. Моей первой реакцией было изменить файл SPEC для файла SRPMS, но этот указывает, что это может быть не так просто. Всегда есть возможность собрать исходный код MySQL, но я бы предпочел, если возможно, остаться в мире RPMS / Yum.

Есть ли у кого-нибудь успешный подход к этому с помощью RPMS / SRPMS / Yum? Какие-то патчи, которые делают эту работу безупречной с SRPMS?

Я создаю MySQL с изменениями в файле SPECS для MySQL и включенным механизмом хранения архивов. Вот подробный шаг о том, как это запустить:

Установите yum-utils:

sudo yum install yum-utils

Включите SRPMS RedHat в репозитории CentOS:

sudo vi /etc/yum.repos.d/srpm.repo

Добавьте следующую конфигурацию репо:

[rhel-src]
name=Red Hat Enterprise Linux $releasever - $basearch - Source
baseurl=ftp://ftp.redhat.com/pub/redhat/linux/enterprise/5Server/en/os/SRPMS/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

Я не мог использовать $releasever в URL-адресе, но нужно было установить 5Server.

Загрузите пакет SRPMS:

 yumdownloader --source mysql-server

Настройте область сборки для пользователя без полномочий root:

 yum install rpm-build redhat-rpm-config
 mkdir -p ~/rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS}
 echo '%_topdir %(echo $HOME)/rpmbuild' > ~/.rpmmacros
 rpm -i mysql-server-5.0.xx.src.rpm

Установите необходимые инструменты разработки:

 yum install gcc-c++ libtool gperf automake ncurses-devel readline-devel openssl-devel zlib-devel

Чтобы найти все необходимые библиотеки и инструменты, просто попробуйте выполнить следующую команду:

 cd ~/rpmbuild/SPECS/

Измените файл спецификации:

 vi ~/rpmbuild/SPECS/mysql.spec

Я добавил следующее в файл спецификации (я также хотел включить механизм федеративного хранилища):

 %configure \
    ...
    --with-archive-storage-engine \
    --with-federated-storage-engine \
    ...

Помните: Это могло измениться в MySQL 5.1, где plugin используется для указания механизмов хранения.

Чтобы ускорить процесс сборки, вам следует подумать о внесении этого изменения:

 %{!?runselftest:%define runselftest 0}

Затем запустите (как пользователь без полномочий root):

 cd ~/rpmbuild/SPECS/
 rpmbuild -ba mysql.spec

Вы найдете RPM в ~/rpmbuild/RPMS/i386. Просто установите и запустите MySQL, и вы получите версию MySQL с включенным механизмом хранения архивов.