Spec-Zone.ru › MySQL 9.2

2.5.4 Установка 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.3, «Использование репозитория MySQL SLES»).

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

Примечание

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

Пакеты MySQL RPM

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

Таблица 2.10 Пакеты RPM для MySQL Community Edition
Название пакета Описание
mysql-community-client Клиентские приложения и инструменты MySQL
mysql-community-client-plugins Общие плагины для клиентских приложений MySQL
mysql-community-common Общие файлы для серверных и клиентских библиотек
mysql-community-devel Файлы заголовков и библиотеки разработки для клиентских приложений MySQL
mysql-community-embedded-compat Сервер MySQL в качестве встроенной библиотеки с совместимостью для приложений, использующих версию 18 библиотеки
mysql-community-icu-data-files Пакет MySQL файлов данных ICU, необходимых для регулярных выражений MySQL
mysql-community-libs Общие библиотеки для клиентских приложений MySQL
mysql-community-libs-compat Общие библиотеки совместимости для предыдущих установок MySQL; присутствуют только в том случае, если платформа поддерживает предыдущие версии MySQL
mysql-community-server Сервер базы данных и связанные инструменты
mysql-community-server-debug Двоичные файлы отладчика сервера и плагинов
mysql-community-test Набор тестов для сервера MySQL
mysql-community Исходный код RPM похож на mysql-community-9.2.0-1.el7.src.rpm, в зависимости от выбранной ОС
Дополнительные пакеты *debuginfo* RPM Существует несколько пакетов debuginfo: mysql-community-client-debuginfo, mysql-community-libs-debuginfo, mysql-community-server-debug-debuginfo, mysql-community-server-debuginfo и mysql-community-test-debuginfo.

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

Таблица 2.11 Пакеты RPM для MySQL Enterprise Edition
Название пакета Описание
mysql-commercial-backup MySQL Enterprise Backup
mysql-commercial-client Клиентские приложения и инструменты MySQL
mysql-commercial-client-plugins Общие плагины для клиентских приложений MySQL
mysql-commercial-common Общие файлы для серверных и клиентских библиотек
mysql-commercial-devel Файлы заголовков и библиотеки разработки для клиентских приложений MySQL
mysql-commercial-embedded-compat Сервер MySQL в качестве встроенной библиотеки с совместимостью для приложений, использующих версию 18 библиотеки
mysql-commercial-icu-data-files Пакет MySQL файлов данных ICU, необходимых для регулярных выражений MySQL
mysql-commercial-libs Общие библиотеки для клиентских приложений MySQL
mysql-commercial-libs-compat Общие библиотеки совместимости для предыдущих установок MySQL; присутствуют только в том случае, если платформа поддерживает предыдущие версии MySQL. Версия библиотек соответствует версии библиотек, установленных по умолчанию используемым вами дистрибутивом.
mysql-commercial-server Сервер базы данных и связанные инструменты
mysql-commercial-test Набор тестов для сервера MySQL
Дополнительные пакеты *debuginfo* RPM Существует несколько пакетов debuginfo: mysql-commercial-client-debuginfo, mysql-commercial-libs-debuginfo, mysql-commercial-server-debug-debuginfo, mysql-commercial-server-debuginfo и mysql-commercial-test-debuginfo.

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

packagename-version-distribution-arch.rpm

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

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

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

Чтобы просмотреть все файлы в пакете 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-client-plugins, mysql-community-libs, mysql-community-icu-data-files, mysql-community-common и mysql-community-libs-compat, чтобы получить функциональную стандартную установку MySQL. Для такой стандартной, базовая установки перейдите в папку, которая содержит все эти пакеты (и, желательно, не содержит других RPM-пакетов с аналогичными именами), и выполните следующую команду:

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

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

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

Чтобы установить только клиентские программы, вы можете пропустить mysql-community-server в списке пакетов для установки; выполните следующую команду:

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

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

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

Таблица 2.13 Макет установки MySQL для пакетов Linux RPM из зоны разработчиков MySQL

Таблица 2.13 Макет установки MySQL для пакетов Linux RPM из зоны разработчиков MySQL
Файлы или ресурсы Расположение
Клиентские программы и скрипты /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
Скрипт инициализации 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
Файлы включения (заголовки) /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:

$> systemctl start mysqld

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

$> systemctl start mysql

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

Во время установки обновления с использованием пакетов RPM и DEB, если MySQL-сервер работает во время обновления, то MySQL-сервер останавливается, происходит обновление, и 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, «Ошибка «Файл не найден» и аналогичные ошибки»

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

$> 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. См. Раздел 7.9.4, «Пакет DBUG» для получения отладочных опций.

Примечание

Директория плагинов по умолчанию — /usr/lib64/mysql/plugin/debug и настраивается с помощью plugin_dir.

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

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

Spec-Zone.ru

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