Spec-Zone.ru › MySQL 8.4

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-8.4.4-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 Идентификаторы дистрибутива пакетов RPM MySQL для Linux

Таблица 2.12 Идентификаторы дистрибутива пакетов RPM MySQL для 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-8.4-en/linux-installation-rpm.html

Spec-Zone.ru

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