Поиск по сайту:

Как установить MySQL 5.6 из официальных репозиториев Yum


Статус: устарело

В этой статье рассматривается версия CentOS, которая больше не поддерживается. Если вы в настоящее время используете сервер под управлением CentOS 6, мы настоятельно рекомендуем обновить или перейти на поддерживаемую версию CentOS.

Причина:

Смотрите вместо этого:

Следующий учебник DigitalOcean может представлять немедленный интерес, поскольку в нем описывается установка MySQL на сервере CentOS 7:

  • Как установить MySQL на CentOS 7

Представлено: Морган Токер, менеджер сообщества MySQL @ Oracle

Введение

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

В этом руководстве мы установим MySQL 5.6 на новую установку Centos 6, а затем применим пару дополнительных штрихов для оптимизации конфигурации для DigitalOcean.

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

Выбор сервера

На сегодня я выберу сервер стоимостью 40 долларов в месяц, поскольку он включает в себя 4 ГБ ОЗУ и 60 ГБ SSD, но вы можете выбрать другой размер в зависимости от требований вашего приложения. MySQL можно установить в системах с очень небольшим объемом оперативной памяти, а также масштабировать до более чем 100 ГБ. Если вы выбрали другой размер сервера, обязательно измените рекомендации по настройке, приведенные ниже:

Официальные репозитории поддерживают как 32-разрядную, так и 64-разрядную Enterprise Linux 6, а также Fedora 18 и 19. CentOS является __C__community __Ent__erprise __O__perating __S__ystem и отлично подходит для этой цели:

Установка MySQL

Файл репозитория yum необходимо загрузить с веб-сайта разработчика MySQL. После установки простое yum update гарантирует, что вы используете последнюю точечную версию MySQL 5.6, включая обновления безопасности. Yum также гарантирует, что все зависимости также будут установлены, что немного упрощает процесс установки.

Чтобы начать работу, перейдите по адресу http://dev.mysql.com/downloads/repo/ и щелкните ссылку для загрузки Red Hat Enterprise Linux 6/Oracle Linux 6:

Затем скопируйте ссылку в разделе Нет, спасибо, просто начните загрузку:

Войдите на свой сервер, а затем загрузите этот файл. Ниже приведен пример URL-адреса. Вы можете перепроверить, не доступна ли более поздняя версия репозитория:

wget http://dev.mysql.com/get/mysql-community-release-el6-3.noarch.rpm/from/http://repo.mysql.com/

Установите репозиторий из локального файла:

sudo yum localinstall mysql-community-release-el6-*.noarch.rpm

Теперь у вас есть официальный репозиторий, установленный на вашем сервере, но еще не установленное программное обеспечение. Репозиторий включает сервер MySQL, инструмент администрирования MySQL Workbench и драйвер ODBC. Давайте установим сервер MySQL:

sudo yum install mysql-community-server

Запустите MySQL:

sudo service mysqld start

Настройте MySQL для автоматического запуска при перезагрузке:

sudo chkconfig mysqld on
chkconfig --list mysqld

Вот и все. Готово!

Нанесение последних штрихов

Команда разработчиков MySQL приложила много усилий, чтобы убедиться, что MySQL лучше настроена сразу после установки, а версия 5.6 требует минимальной настройки. Сказав это, вы захотите настроить несколько вещей, которые можно добавить в /etc/my.cnf в группе заголовков [mysqld]:

sudo vim /etc/my.cnf

  • Рекомендуется установить innodb_buffer_pool_size на 50-80% системной памяти. В случае с сервером, который я выбрал, 50% от 4 ГБ=2 ГБ. Это позволяет MySQL кэшировать больше данных (по умолчанию только 128 МБ) и может значительно повысить производительность.
  • MySQL по умолчанию имеет очень маленькие журналы транзакций, что является функцией, используемой для обеспечения восстановления после сбоя. При разработке небольшие файлы журналов могут быть полезны для экономии места, но в производственной среде вам может понадобиться увеличить их, чтобы в фоновом режиме в очередь помещалось больше операций записи. Параметр innodb_log_file_size и рекомендуемые значения находятся в диапазоне от 128M до 4G.
  • При использовании твердотельных накопителей последовательный ввод-вывод не быстрее случайного ввода-вывода. Это означает, что мы можем сказать MySQL, что он может отключить одну из своих оптимизаций и немного сэкономить процессор. Параметр innodb_flush_neighbors=0.
  • По умолчанию MySQL проявляет исключительную осторожность, чтобы не потерять данные, даже при отключении питания. Это происходит за счет снижения производительности, и во многих облачных средах пользователи вместо этого допускают потерю данных в течение нескольких секунд при сбое питания. Необходимо изменить параметр innodb_flush_log_at_trx_commit=2.
  • UTF-8 лучше по умолчанию для хранения международных символов в MySQL. Вы можете изменить его, установив character-set-server=utf8mb4 и collation-server=utf8mb4_general_ci. Отдельные базы данных, таблицы и столбцы могут при необходимости перезаписать это.
  • Многие системные администраторы рекомендуют устанавливать часовой пояс серверов по Гринвичу, что можно сделать с помощью timezone=GMT.
  • Чтобы обеспечить совместимость со старыми версиями, MySQL по умолчанию допускает неверные и выходящие за пределы диапазона значения. Я рекомендую вам включить новые более строгие параметры SQL_MODE, если ваши приложения не полагаются на это устаревшее поведение MySQL.

*В целом, это изменения:

innodb_buffer_pool_size=2G
innodb_log_file_size=256M
innodb_flush_neighbors=0
innodb_flush_log_at_trx_commit=2

# Default to UTF-8 for text columns
character-set-server=utf8mb4
collation-server=utf8mb4_general_ci

# Set the default timezone to GMT.
# This is a common recommended practice, but can also remove this line
# If your date/time values appear incorrect.
timezone=GMT

# This configuration item is optional:
# It makes MySQL more strict and rejects invalid values.
# You may need to remove this line for legacy applications.
sql-mode="STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,ONLY_FULL_GROUP_BY"

Дальнейшее чтение

На этом базовая установка MySQL 5.6 с использованием официальных репозиториев yum завершена. Команда MySQL заинтересована в ваших отзывах. Если у вас возникнут какие-либо проблемы или у вас просто есть предложение, посетите http://forums.mysql.com/list.php?11.

У меня также есть более продвинутая версия того, что нужно настроить в MySQL 5.6 после установки, доступная в моем блоге. Но будьте уверены, если вы выполнили шаги, описанные в этой статье, вы прошли 95% пути!