CentOS: Установка MySQL 5.6 с официального Yum репозитария

i

Примерно, в начале октябре 2013 года, команда разработчиков MySQL официально запустила yum репозитарий, т.е. теперь мы можем смело обновляться до последних версии данной базы данных непосредственно с источника!

В этом руководстве я кратко расскажу об особенностях установки MySQL 5.6 на Centos 6, и также объясню пару моментов по оптимизации производительности.

Перед выполнением данной инструкции рекомендую ознакомиться с изменениями произведенными в MySQL 5.6. Если все прочитанное вас устраивает, то переходим непосредственно к установке…

    • Сразу о проблемах

1) MySQL 5.6 стал достаточно ресурсоемкий, в особенности по памяти.

Для нормальной работы с настройками по умолчанию, нам понадобиться минимум 2G памяти. Я запустил данную версию базы и на инстансе с 512мб, однако как-то комментировать работу не могу. Синтетические тесты, по подключению и небольшой выборке система прошла, на этом тесты закончились, в продуктив система не вводилась.

2) Скорее всего будет конфликт пакетов, в частности «php-mysql-5», т.к. для 5.6 он еще не вышел, а существующий  по крайней мере у меня ругается так:

Error: Package: mysql-bench-5.5.34-1.el6.remi.x86_64 (@remi)
           Requires: real-mysql(x86-64) = 5.5.34-1.el6.remi
           Removing: mysql-5.5.34-1.el6.remi.x86_64 (@remi)
               real-mysql(x86-64) = 5.5.34-1.el6.remi
           Obsoleted By: mysql-community-client-5.6.14-3.el6.x86_64 (mysql-community)
               Not found
Error: Package: php-mysql-5.4.22-1.el6.remi.x86_64 (@remi)
           Requires: libmysqlclient.so.18(libmysqlclient_16)(64bit)
           Removing: mysql-libs-5.5.34-1.el6.remi.x86_64 (@remi)
               libmysqlclient.so.18(libmysqlclient_16)(64bit)
           Obsoleted By: mysql-community-libs-5.6.14-3.el6.x86_64 (mysql-community)
               Not found
  • Установка MySQL

Для начала, перейдем по ссылке http://dev.mysql.com/downloads/repo/ , и нажмем на ссылку для загрузки «Red Hat Enterprise Linux 6 / Oracle Linux 6» и скачаем файл по ссылке «No thanks, just start my download.»

download_mysql2

wget http://dev.mysql.com/get/mysql-community-release-el6-4.noarch.rpm
yum localinstall mysql-community-release-el6-*.noarch.rpm

Проверим, что необходимый нам репозитарий «mysql-community» успешно полключился к системе

[root@develop spions]# yum repolist
repo id                                     repo name                                                                   status
base                                        CentOS-6 - Base                                                              6381
epel                                        Extra Packages for Enterprise Linux 6 - x86_64                              10023
extras                                      CentOS-6 - Extras                                                              13
mysql-community                             MySQL Community Server                                                         19
nginx                                       nginx repo                                                                     47
updates                                     CentOS-6 - Updates

Пробуем сделать «yum install mysql-community-server«, скорее всего получаем конфликт описанный выше в «проблемах», поэтому делаем иначе:

yum remove mysql-libs-5.5*
mysql-community-server  mysql-community-client  mysql-community-common mysql-community-libs

#ставим назад расширение для php с игнорированием конфликта. У меня php 5.4 из remi.
yum --enablerepo=remi --skip-broken  install php-mysql*

Пробуем сделать «service mysqld restart«.

Если у вас 512mb оперативной памяти, то скорее всего будет ошибка запуска и в логах будет сообщение вида

«[ERROR] InnoDB: Cannot allocate memory for the buffer pool»

Решение выставить в /etc/my.cnf параметр «innodb_buffer_pool_size = 32M», при этом память утилизируется практически полностью.

top
Mem:    502456k total,   494968k used,     7488k free,     2420k buffers

Некоторые администраторы предлагают подцепить к серверу swap файл, увеличив тем самым доступную память, особенно это актуально для хостинга на SSD, но для меня это не самый «правильный» выход из положения.

После изменений «innodb_buffer_pool_size«, мы скорее всего сможем запуститься, так что осталось дело за малым — сменить пароль для mysql root пользователя:

/usr/bin/mysqladmin -u root password 'YouBigPassword'

На этом инсталляция закончена.

Вы можете оставить комментарий ниже.