Гид по технологиям

Установка Percona Server на Ubuntu 20.04

• 4 min read • Databases • Обновлено 16 Nov 2025
Установка Percona Server на Ubuntu 20.04
Установка Percona Server на Ubuntu 20.04

Логотип или изображение Percona Server

Percona Server — полноценный форк сервера MySQL, совместимый с Oracle MySQL и часто используемый для улучшения производительности, масштабируемости и мониторинга. Percona поддерживается на основных облачных платформах (AWS, Google Cloud, Azure) и масштабируется на десятки CPU‑ядер, обеспечивая высокую пропускную способность I/O.

Что понадобится

  • Сервер с Ubuntu 20.04 LTS.
  • Доступ root или пользователь с правами sudo.
  • Подключение к интернету для скачивания пакетов.

Краткая методология установки

  1. Обновить список пакетов и установить зависимости.
  2. Добавить официальный репозиторий Percona.
  3. Установить Percona Server 8 (ps80).
  4. Выполнить базовую конфигурацию и проверить работу.

Подготовка системы

Обновите индексы пакетов и установите утилиты:

sudo apt-get update
sudo apt-get install -y wget unzip gnupg2 lsb-release

Важно: команда apt-get update не принимает опцию -y; обновление только обновляет индексы.

Добавление репозитория Percona

Скачайте пакет конфигурации репозитория и установите его:

wget https://repo.percona.com/apt/percona-release_latest.$(lsb_release -sc)_all.deb
sudo dpkg -i percona-release_latest.$(lsb_release -sc)_all.deb
sudo apt-get update

После установки пакета percona-release появится утилита percona-release. Чтобы включить репозиторий Percona Server 8.0, выполните:

sudo percona-release setup ps80
sudo apt-get update

Установка Percona Server

Установите сервер и зависимости:

sudo apt-get install -y percona-server-server

При установке пакет предложит задать root‑пароль и выбрать плагин аутентификации. Выберите современный плагин аутентификации по умолчанию (обычно первая опция) и задайте надёжный пароль.

Выбор плагина аутентификации

Проверка работы

После установки выполните основные проверки:

systemctl status mysql --no-pager
sudo journalctl -u mysql --since "5 minutes ago" --no-pager
mysql --version

Подключитесь как root (локально) и выполните простые запросы:

sudo mysql -u root -p
SELECT VERSION(), @@innodb_buffer_pool_size, @@max_connections;
EXIT;

Базовая настройка безопасности

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

sudo mysql_secure_installation

Рекомендации:

  • Отключите анонимных пользователей.
  • Запретите удалённый доступ для root по паролю, создайте отдельного администратора.
  • Удалите тестовую базу.
  • Обновите политики паролей (validate_password) при необходимости.

Быстрая оптимизация для рабочих нагрузок

Ниже — простые эвристики (начните с них, затем профилируйте):

  • innodb_buffer_pool_size: 60–75% от доступной оперативной памяти для баз на InnoDB.
  • innodb_thread_concurrency: оставьте авто или настройте по CPU/IO.
  • max_connections: устанавливайте с учётом ожидаемой нагрузки и ресурсов.
  • log_bin и binlog_format=row — включайте, если нужен репликация и точность восстановления.

Внесите изменения в /etc/mysql/percona-server.conf.d/mysqld.cnf и перезапустите сервис:

sudo systemctl restart mysql

Резервный план и откат

Перед обновлениями или изменением конфигурации всегда:

  1. Сделайте дамп баз данных: mysqldump --all-databases > all.sql или используйте xtrabackup для больших баз.
  2. Снимите копию конфигураций: cp -a /etc/mysql /root/mysql-config-backup.
  3. При проблемах восстановите дамп или верните конфигурацию и перезапустите сервис.

Если надо удалить Percona и вернуть систему к исходному состоянию:

sudo apt-get remove --purge -y percona-server-server percona-release
sudo rm -rf /var/lib/mysql /etc/mysql

(Внимание: удаляет данные — делайте бэкап заранее.)

Отладка типичных проблем

Когда установка не запускается или MySQL не активен — проверьте:

  • Логи systemd и /var/log/mysql/error.log.
  • Права на /var/lib/mysql и владельца mysql:mysql.
  • Недостаток места на диске или inode.
  • Конфликты портов (3306) с другим процессом.

Пример команды для поиска ошибки в логе:

sudo grep -i "error" /var/log/mysql/error.log | tail -n 50

Когда Percona не подходит — альтернативы

  • Если нужна управляемая облачная база — используйте RDS/Aurora (AWS) или Cloud SQL (GCP).
  • Для лёгкой контейнеризации и тестов — официальный Docker‑образ Percona Server.
  • Если важна совместимость с Oracle‑технологиями — можно оставить Oracle MySQL.

Чек‑лист для ролей

Администратор:

  • Добавил репозиторий percona-release и включил ps80.
  • Установил пакет и проверил systemctl status.
  • Настроил резервное копирование.

Разработчик:

  • Проверил подключение приложения.
  • Запустил тесты производительности.

SRE/DevOps:

  • Настроил мониторинг (Prometheus/Percona Monitoring and Management).
  • Настроил alerting по SLI/SLO.

Критерии приёмки

  • Сервис mysql активен (systemctl — active).
  • Проходит подключение от приложения.
  • Выполняются контрольные запросы (SELECT 1).
  • Создано и проверено резервное копирование.

Шпаргалка команд

  • Обновление пакетов: sudo apt-get update
  • Установка Percona-release: sudo dpkg -i percona-release_latest.$(lsb_release -sc)_all.deb
  • Включение ps80: sudo percona-release setup ps80
  • Установка сервера: sudo apt-get install -y percona-server-server
  • Проверка статуса: systemctl status mysql
  • Безопасная настройка: sudo mysql_secure_installation

Важно: перед изменением конфигурации делайте бэкап данных и конфигов.

Заключение

Поздравляем — Percona Server 8 установлен и готов к использованию на Ubuntu 20.04. Выполните базовую настройку безопасности и мониторинг, затем профилируйте рабочую нагрузку для тонкой настройки производительности.

Короткая памятка:

  • Добавьте репозиторий percona-release и включите ps80.
  • Установите пакет, задайте крепкий root‑пароль и выберите современный плагин аутентификации.
  • Настройте резервное копирование и мониторинг.

Часто задаваемые вопросы

Q: Можно ли обновить с MySQL на Percona с минимальным простоем?

A: Да, Percona совместим с MySQL, но всегда тестируйте обновление и делайте полные бэкапы. Для критичных нагрузок используйте репликацию и пошаговый cutover.

Q: Поддерживает ли Percona репликацию и GTID?

A: Да, Percona Server поддерживает стандартную репликацию MySQL и GTID.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро