Spec-Zone.ru › MySQL 5.7

2.5.5 Установка MySQL на Linux с использованием пакетов RPM от Oracle

Рекомендуемый способ установки MySQL на Linux-дистрибутивах на основе RPM — использование пакетов RPM, предоставленных компанией Oracle. Существует два источника для их получения, для Community Edition MySQL:

  • Из репозиториев программного обеспечения MySQL:

    • Репозиторий MySQL Yum (подробнее см. Раздел 2.5.1, «Установка MySQL на Linux с помощью репозитория MySQL Yum»).

    • Репозиторий MySQL SLES (подробнее см. Раздел 2.5.4, «Установка MySQL на Linux с помощью репозитория MySQL SLES»).

  • Со страницы Загрузка MySQL Community Server в зоне разработчиков MySQL.

Примечание

RPM-дистрибутивы MySQL также предоставляются другими поставщиками. Следует учитывать, что они могут отличаться от дистрибутивов, созданных Oracle, по функциям, возможностям и соглашениям (включая настройку связи), и что инструкции по установке в этом руководстве не обязательно применимы к ним. Вместо этого следует обратиться к инструкциям поставщика.

Если у вас на системе работает такой дистрибутив MySQL от сторонних производителей и теперь вы хотите перейти на дистрибутив Oracle, используя пакеты RPM, загруженные из зоны разработчиков MySQL, см. Совместимость с пакетами RPM от других поставщиков ниже. Однако предпочтительный метод миграции — использование репозитория MySQL Yum или репозитория MySQL SLES.

Пакеты RPM для MySQL перечислены в следующих таблицах:

Таблица 2.9 Пакеты RPM для MySQL Community Edition

Таблица 2.9 Пакеты RPM для MySQL Community Edition
Имя пакета Описание
mysql-community-server Сервер базы данных и связанные инструменты
mysql-community-client Клиентские приложения и инструменты MySQL
mysql-community-common Общие файлы для серверных и клиентских библиотек
mysql-community-devel Заголовочные файлы и библиотеки для разработки клиентских приложений базы данных MySQL
mysql-community-libs Общие библиотеки для клиентских приложений базы данных MySQL
mysql-community-libs-compat Общие библиотеки совместимости для предыдущих установок MySQL
mysql-community-embedded Встроенная библиотека MySQL
mysql-community-embedded-devel Заголовочные файлы и библиотеки для разработки MySQL как встроенной библиотеки
mysql-community-test Набор тестов для сервера MySQL

Таблица 2.10 Пакеты RPM для MySQL Enterprise Edition

Таблица 2.10 Пакеты RPM для MySQL Enterprise Edition
Имя пакета Описание
mysql-commercial-server Сервер базы данных и связанные инструменты
mysql-commercial-client Клиентские приложения и инструменты MySQL
mysql-commercial-common Общие файлы для серверных и клиентских библиотек
mysql-commercial-devel Заголовочные файлы и библиотеки для разработки клиентских приложений базы данных MySQL
mysql-commercial-libs Общие библиотеки для клиентских приложений базы данных MySQL
mysql-commercial-libs-compat Общие библиотеки совместимости для предыдущих установок MySQL
mysql-commercial-embedded Встроенная библиотека MySQL
mysql-commercial-embedded-devel Заголовочные файлы и библиотеки для разработки MySQL как встроенной библиотеки
mysql-commercial-test Набор тестов для сервера MySQL

Полные имена RPM имеют следующий синтаксис:

packagename-version-distribution-arch.rpm

Значения distribution и arch указывают дистрибутив Linux и тип процессора, для которого был построен пакет. Список идентификаторов дистрибутива см. в таблице ниже:

Таблица 2.11 Идентификаторы дистрибутивов пакетов RPM MySQL для Linux

Таблица 2.11 Идентификаторы дистрибутивов пакетов RPM MySQL для Linux
Значение дистрибутива Предполагаемое использование
el{version}, где {version} — основная версия Enterprise Linux, например el8 Платформы на базе EL6 (8.0), EL7, EL8 и EL9 (например, соответствующие версии Oracle Linux, Red Hat Enterprise Linux и CentOS)
sles12 SUSE Linux Enterprise Server 12

Чтобы увидеть все файлы в пакете RPM (например, mysql-community-server), используйте следующую команду:

$> rpm -qpl mysql-community-server-version-distribution-arch.rpm

Далее в этом разделе рассматривается только процесс установки, использующий пакеты RPM, загруженные непосредственно от Oracle, а не через репозиторий MySQL.

Между некоторыми пакетами существуют зависимости. Если вы планируете установить много пакетов, вы можете загрузить файл пакета RPM tar, который содержит все перечисленные выше пакеты RPM, так что вам не нужно загружать их по отдельности.

В большинстве случаев вам нужно установить пакеты mysql-community-server, mysql-community-client, mysql-community-libs, mysql-community-common и mysql-community-libs-compat для получения функциональной стандартной установки MySQL. Для выполнения такой стандартной, базовая установки перейдите в папку, содержащую все эти пакеты (и, по возможности, не содержащую другие пакеты RPM с аналогичными именами), и выполните следующую команду для платформ кроме Red Hat Enterprise Linux/Oracle Linux/CentOS:

$> sudo yum install mysql-community-{server,client,common,libs}-*

Замените yum на zypper для SLES.

Для систем Red Hat Enterprise Linux/Oracle Linux/CentOS:

$> sudo yum install mysql-community-{server,client,common,libs}-* mysql-5.*­

Хотя гораздо предпочтительнее использовать инструмент управления пакетами высокого уровня, такой как yum, для установки пакетов, пользователи, предпочитающие прямые команды rpm, могут заменить команду yum install на команду rpm -Uvh; однако использование rpm -Uvh вместо этого делает процесс установки более подверженным ошибкам из-за потенциальных проблем с зависимостями, с которыми может столкнуться процесс установки.

Чтобы установить только клиентские программы, вы можете пропустить mysql-community-server в списке пакетов для установки; выполните следующую команду для платформ кроме Red Hat Enterprise Linux/Oracle Linux/CentOS:

$> sudo yum install mysql-community-{client,common,libs}-* 

Замените yum на zypper для SLES.

Для систем Red Hat Enterprise Linux/Oracle Linux/CentOS:

$> sudo yum install mysql-community-{client,common,libs}-* mysql-5.* 

Стандартная установка MySQL с использованием пакетов RPM приводит к созданию файлов и ресурсов в системных каталогах, показанных в следующей таблице.

Таблица 2.12 Расположение установки MySQL для пакетов Linux RPM из MySQL Developer Zone

Таблица 2.12 Расположение установки MySQL для пакетов Linux RPM из MySQL Developer Zone
Файлы или ресурсы Расположение
Клиентские программы и скрипты /usr/bin
Сервер mysqld /usr/sbin
Файл конфигурации /etc/my.cnf
Директория данных /var/lib/mysql
Файл журнала ошибок

Для платформ RHEL, Oracle Linux, CentOS или Fedora: /var/log/mysqld.log

Для SLES: /var/log/mysql/mysqld.log

Значение secure_file_priv /var/lib/mysql-files
Скрипт init System V

Для платформ RHEL, Oracle Linux, CentOS или Fedora: /etc/init.d/mysqld

Для SLES: /etc/init.d/mysql

Служба systemd

Для платформ RHEL, Oracle Linux, CentOS или Fedora: mysqld

Для SLES: mysql

Файл pid /var/run/mysql/mysqld.pid
Сокет /var/lib/mysql/mysql.sock
Директория хранилища ключей /var/lib/mysql-keyring
Страницы руководства Unix /usr/share/man
Файлы заголовков (include) /usr/include/mysql
Библиотеки /usr/lib/mysql
Прочие вспомогательные файлы (например, сообщения об ошибках и файлы наборов символов) /usr/share/mysql

При установке также создается пользователь с именем mysql и группа с именем mysql в системе.

Примечания
  • Пользователь mysql создается с помощью опций -r и -s /bin/false команды useradd, чтобы у него не было прав на вход в вашу систему хоста (см. Создание пользователя и группы mysql для получения подробностей). Чтобы переключиться на пользователя mysql в вашей ОС, используйте опцию --shell=/bin/bash для команды su:

    su - mysql --shell=/bin/bash
  • Установка предыдущих версий MySQL с помощью устаревших пакетов может привести к созданию файла конфигурации с именем /usr/my.cnf. Сильно рекомендуется проверить содержимое файла и перенести необходимые настройки в файл /etc/my.cnf, а затем удалить файл /usr/my.cnf.

MySQL не запускается автоматически по завершении процесса установки. Для систем Red Hat Enterprise Linux, Oracle Linux, CentOS и Fedora используйте следующую команду для запуска MySQL:

$> sudo service mysqld start

Для систем SLES команда та же, но имя службы отличается:

$> sudo service mysql start

Если операционная система поддерживает systemd, следует использовать стандартные команды service, такие как stop, start, status и restart, для управления службой MySQL-сервера. Служба mysqld включена по умолчанию и запускается при перезагрузке системы. Обратите внимание, что некоторые вещи могут работать по-другому в системах на базе systemd: например, изменение расположения каталога данных может вызвать проблемы. См. Раздел 2.5.10, «Управление MySQL-сервером с помощью systemd» для получения дополнительной информации.

Во время установки обновления с помощью пакетов RPM и DEB, если MySQL-сервер запущен во время обновления, сервер останавливается, происходит обновление, и сервер перезапускается. Исключение: если версия издания изменяется во время обновления (например, с Community на Commercial или наоборот), то MySQL-сервер не перезапускается.

При первоначальном запуске сервера, если каталог данных сервера пуст, происходит следующее:

  • Сервер инициализируется.

  • В каталоге данных генерируются файлы сертификата и ключа SSL.

  • validate_password устанавливается и активируется.

  • Создается учетная запись суперпользователя 'root'@'localhost'. Пароль суперпользователя устанавливается и сохраняется в файле журнала ошибок. Чтобы его просмотреть, используйте следующую команду для систем RHEL, Oracle Linux, CentOS и Fedora:

    $> sudo grep 'temporary password' /var/log/mysqld.log
    

    Используйте следующую команду для систем SLES:

    $> sudo grep 'temporary password' /var/log/mysql/mysqld.log
    

    Следующий шаг - вход с сгенерированным временным паролем и установка пользовательского пароля для учетной записи суперпользователя:

$> mysql -uroot -p 
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';
Примечание

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

Если во время установки возникнут ошибки, информацию для отладки можно найти в файле журнала ошибок /var/log/mysqld.log.

Для некоторых дистрибутивов Linux может потребоваться увеличить ограничение на количество доступных дескрипторов файлов для mysqld. См. Раздел B.3.2.16, «Ошибка «Файл не найден» и подобные ошибки»

Совместимость с пакетами RPM от других поставщиков. Если вы установили пакеты MySQL из локального репозитория программного обеспечения вашего дистрибутива Linux, предпочтительнее установить новые, загруженные напрямую пакеты от Oracle с помощью системы управления пакетами вашей платформы (yum, dnf или zypper), как описано выше. Команда заменяет старые пакеты новыми, чтобы обеспечить совместимость старых приложений с новой установкой; например, старый пакет mysql-libs заменяется пакетом mysql-community-libs-compat, который предоставляет совместимую клиентскую библиотеку для приложений, которые использовали вашу старую установку MySQL. Если на системе была более старая версия mysql-community-libs-compat, она также заменяется.

Если вы установили пакеты MySQL сторонних производителей, которые НЕ из локального репозитория программного обеспечения вашего дистрибутива Linux (например, пакеты, загруженные напрямую от поставщика, отличного от Oracle), вы должны удалить все эти пакеты перед установкой новых, загруженных напрямую пакетов от Oracle. Это связано с тем, что могут возникнуть конфликты между пакетами RPM поставщика и Oracle: например, соглашение поставщика о том, какие файлы относятся к серверу, а какие к клиентской библиотеке, может отличаться от используемого для пакетов Oracle. При попытке установить пакет Oracle RPM могут появиться сообщения об обнаружении конфликта между файлами в устанавливаемом пакете и файлами из установленного пакета.

Установка клиентских библиотек из нескольких версий MySQL. Возможно установить несколько версий клиентских библиотек, например, для сохранения совместимости со старыми приложениями, связанными с предыдущими библиотеками. Для установки более старой клиентской библиотеки используйте опцию --oldpackage с rpm. Например, чтобы установить mysql-community-libs-5.5 на систему EL6, которая имеет libmysqlclient.20 из MySQL 5.7, используйте такую команду:

$> rpm --oldpackage -ivh mysql-community-libs-5.5.50-2.el6.x86_64.rpm

Пакет отладки. Специальная версия MySQL Server, скомпилированная с пакетом отладки, включена в пакеты сервера RPM. Она выполняет проверки отладки и распределения памяти и создает файл трассировки во время работы сервера. Чтобы использовать эту отладочную версию, запустите MySQL с помощью /usr/sbin/mysqld-debug, вместо запуска как службы или с помощью /usr/sbin/mysqld. См. Раздел 5.8.3, «Пакет DBUG» для получения отладочных опций.

Примечание

Директория плагинов по умолчанию для отладочных сборок изменилась с /usr/lib64/mysql/plugin на /usr/lib64/mysql/plugin/debug в 5.7.21. Раньше необходимо было изменить plugin_dir на /usr/lib64/mysql/plugin/debug для отладочных сборок.

Перестройка пакетов RPM из исходных SRPM-пакетов. Исходные SRPM-пакеты кода MySQL доступны для скачивания. Их можно использовать для перестройки пакетов MySQL RPM с помощью стандартного инструментария rpmbuild.

root пароли для релизов до GA. Для MySQL 5.7.4 и 5.7.5, начальный случайный root пароль записывается в файл .mysql_secret в каталоге, имя которого задано переменной окружения HOME. При попытке доступа к файлу, имейте в виду, что в зависимости от операционной системы, использование команды, такой как sudo, может привести к тому, что значение HOME будет ссылаться на домашний каталог пользователя root системы. .mysql_secret создаётся с режимом 600 для доступа только пользователю системы, для которого он создан. До MySQL 5.7.4 учётные записи (включая root), созданные в таблицах MySQL grant для установки RPM, изначально не имеют паролей; после запуска сервера, вы должны назначить им пароли, используя инструкции в Разделе 2.9, “Настройка и тестирование после установки”.

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/mysql-5.7-en/linux-installation-rpm.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API