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
| Название пакета | Описание |
|---|---|
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
| Название пакета | Описание |
|---|---|
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
| Значение дистрибутива | Предполагаемое использование |
|---|---|
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
| Файлы или ресурсы | Расположение |
|---|---|
| Клиентские программы и скрипты | /usr/bin |
| Сервер mysqld | /usr/sbin |
| Файл конфигурации | /etc/my.cnf |
| Директория данных | /var/lib/mysql |
| Файл журнала ошибок |
Для платформ RHEL, Oracle Linux, CentOS или Fedora: Для SLES: |
Значение secure_file_priv
| /var/lib/mysql-files |
| Скрипт инициализации System V |
Для платформ RHEL, Oracle Linux, CentOS или Fedora: Для SLES: |
| Служба systemd |
Для платформ RHEL, Oracle Linux, CentOS или Fedora: Для SLES: |
| Файл 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.