Только для посетителей нашего блога: получите дополнительные 3 месяца бесплатно + скидку 10% на трехгодичный план YSBLOG10
Захватить сделку

Как установить MySQL На сервере Linux (пошаговое руководство 2026 г.)

Последнее обновление: сентябрь 7, 2026 10 min read Прахлад Праджапати
Установите MySQL в Linux

Для установки MySQL на сервере LinuxОбновите индекс пакетов, установите... MySQL Установите серверный пакет, запустите и включите службу, выполните команду mysql_secure_installation для повышения уровня безопасности, а также создайте базу данных и пользователя. В Ubuntu/Debian используйте apt; в RHEL/CentOS/Rocky/AlmaLinux используйте dnf/yum или официальный репозиторий. MySQL репозиторий для последней версии.

Установка MySQL Установка на сервер Linux довольно проста, если следовать правильным шагам. В этом руководстве вы узнаете, как установить... MySQL Обеспечьте безопасность системы для использования в производственной среде на дистрибутивах Ubuntu/Debian и RHEL. включить удаленный доступНастройте базовую производительность и убедитесь, что все работает — используя команды, которые можно безопасно скопировать и запустить. Это руководство отражает практические методы, используемые на клиентских серверах. YouStable.

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

Прежде чем начать, убедитесь, что ваш Linux-сервер соответствует основным требованиям и у вас есть необходимые права доступа.

  • Права root или sudo на сервере.
  • Поддерживаемые дистрибутивы: Ubuntu 20.04/22.04/24.04; Debian 11/12; RHEL/CentOS 7/8/9; Rocky/AlmaLinux 8/9.
  • Доступ к репозиториям пакетов и порту 3306 (если к ним будут подключаться удаленные клиенты).
  • Не менее 1 ГБ RAM Для небольших нагрузок; для производственных задач рекомендуется 2 ГБ и более.
  • Точное серверное время (NTP) во избежание проблем с репликацией/TLS.

Выберите правильный MySQL Издательство и хранилище

Большинство репозиториев Linux предоставляют либо то, либо другое. MySQL или MariaDB. Для получения последней версии. MySQL 8 особенностей, обратите внимание на официальную информацию. MySQL репозиторий. Если предпочтительнее стабильность при интеграции с дистрибутивом, используйте репозитории по умолчанию. Принимайте решение, исходя из требований приложения, совместимости драйверов и целей долгосрочного обслуживания.

MySQL против MariaDB (краткий обзор)

  • MySQL 8.0: Надежный JSON, оконные функции, роли, аутентификация по умолчанию caching_sha2_password, ориентация на InnoDB.
  • MariaDB: Разработанная сообществом форк-версия, часто поставляется по умолчанию в дистрибутивах, подобных RHEL, с несколько иными функциями и системными переменными.
  • Совет: выбирайте приложение в соответствии с его требованиями. Не все функции и особенности воспроизведения взаимозаменяемы.

Установите MySQL на Ubuntu/Debian

В дистрибутивах на основе Debian вы можете установить репозиторий по умолчанию MySQL сервер (довольно часто MySQL 8 (на более новых версиях Ubuntu) или используйте репозиторий APT от Oracle для получения последней общедоступной версии.

Вариант A: Установить MySQL из репозиториев Ubuntu/Debian

sudo apt update
sudo apt install -y mysql-server
sudo systemctl enable --now mysql
sudo systemctl status mysql --no-pager

Запустите скрипт безопасной установки, чтобы установить пароль root, удалить тестовые базы данных и запретить доступ анонимным пользователям:

sudo mysql_secure_installation

В зависимости от распределения, MySQL Пользователь root может аутентифицироваться через сокет (без пароля) или с помощью пароля. Если вам это необходимо аутентификация по паролюУстановите это явно после входа в систему с помощью sudo:

sudo mysql
ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'StrongRootPass#2025';
FLUSH PRIVILEGES;
EXIT;

Вариант B: Установить последнюю версию MySQL 8 через официальный репозиторий APT

Для самых последних MySQL GA-релиз и такие инструменты, как MySQL В командной оболочке используйте репозиторий Oracle APT:

wget https://dev.mysql.com/get/mysql-apt-config_0.8.29-1_all.deb
sudo dpkg -i mysql-apt-config_0.8.29-1_all.deb   # Select MySQL Server & Tools
sudo apt update
sudo apt install -y mysql-server
sudo systemctl enable --now mysql

Замените версию пакета конфигурации APT на последнюю с сайта dev.mysql.com. Затем выполните безопасную установку, как показано ранее.

Установите MySQL на RHEL/CentOS/Rocky/AlmaLinux

В системах, подобных RHEL, MariaDB может поставляться по умолчанию. Чтобы убедиться в правильности установки, необходимо установить именно её. MySQL, использовать MySQL Репозиторий Yum или модуль AppStream, если он доступен.

Вариант А: Использовать официальный MySQL Репозиторий Yum/DNF

# Download and install the MySQL repo package (example for EL8/EL9)
sudo dnf install -y https://dev.mysql.com/get/mysql80-community-release-el9-1.noarch.rpm
sudo dnf module disable -y mysql mariadb || true
sudo dnf clean all
sudo dnf install -y mysql-community-server

sudo systemctl enable --now mysqld
sudo systemctl status mysqld --no-pager

При первом запуске, MySQL В журнале может быть сгенерирован временный пароль root. Получите его, а затем запустите безопасную установку:

sudo grep 'temporary password' /var/log/mysqld.log
sudo mysql_secure_installation

Вариант B: Использовать модуль AppStream (если MySQL 8 (доступно)

sudo dnf module list mysql
sudo dnf module enable -y mysql:8.0
sudo dnf install -y @mysql
sudo systemctl enable --now mysqld

Убедитесь, что служба запущена, и защитите её, как описано выше.

Первоначальная настройка и лучшие практики

Создайте базу данных и пользователя с минимальными привилегиями.

Для каждого приложения используйте отдельного пользователя с минимальными правами доступа. Замените заполнители своими значениями.

sudo mysql -u root -p

-- Inside MySQL shell:
CREATE DATABASE appdb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'appuser'@'localhost' IDENTIFIED BY 'StrongAppPass#2025';
GRANT ALL PRIVILEGES ON appdb.* TO 'appuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Вопросы, касающиеся плагина аутентификации.

MySQL В версии 8 по умолчанию используется параметр caching_sha2_password. Некоторые старые клиенты поддерживают только mysql_native_password. При необходимости установите его для каждого пользователя (а не глобально), чтобы избежать ослабления безопасности для всех учетных записей:

ALTER USER 'appuser'@'localhost'
  IDENTIFIED WITH mysql_native_password BY 'StrongAppPass#2025';
FLUSH PRIVILEGES;

Включить удалённый доступ (необязательно)

Разрешите удаленный доступ только при необходимости и ограничьте его по IP-адресу. Соответственно обновите параметры bind-dress и настройки брандмауэра.

  • Конфигурационный файл Ubuntu/Debian: /etc/mysql/mysql.conf.d/mysqld.cnf
  • Конфигурационный файл, аналогичный RHEL: /etc/my.cnf или /etc/my.cnf.d/mysqld.cnf
# In the [mysqld] section:
bind-address = 0.0.0.0
# or comment the bind-address line to listen on all interfaces

Restart MySQL и создайте пользователя с ограниченным доступом по IP-адресу вашего сервера приложений:

sudo systemctl restart mysql   # Ubuntu/Debian
# or
sudo systemctl restart mysqld  # RHEL-like

sudo mysql -u root -p
CREATE USER 'appuser'@'203.0.113.10' IDENTIFIED BY 'StrongAppPass#2025';
GRANT ALL PRIVILEGES ON appdb.* TO 'appuser'@'203.0.113.10';
FLUSH PRIVILEGES;
EXIT;

Откройте порт 3306 в брандмауэре (если требуется удаленный доступ).

# UFW (Ubuntu):
sudo ufw allow from 203.0.113.10 to any port 3306 proto tcp

# firewalld (RHEL-like):
sudo firewall-cmd --add-rich-rule='rule family="ipv4" source address="203.0.113.10" port protocol="tcp" port="3306" accept' --permanent
sudo firewall-cmd --reload

Используйте список разрешенных IP-адресов вместо открытия порта 3306 для всего мира. Если SELinux принудительно устанавливает ограничения, разрешите доступ. MySQL для подключения по сети, где это необходимо:

# Example SELinux adjustment (if needed for network access):
sudo setsebool -P mysql_connect_any 1

Проверьте установку и быстро устраните неполадки.

Проверка версии и работоспособности сервисов.

mysql --version
systemctl status mysql   # Ubuntu/Debian
systemctl status mysqld  # RHEL-like

# Connect and show databases
mysql -u root -p -e "SHOW DATABASES;"

Журналы событий и распространенные проблемы

  • Файлы журналов: /var/log/mysql/error.log (Ubuntu/Debian), /var/log/mysqld.log (RHEL-подобные системы).
  • Используемый порт: Убедитесь, что к порту 3306 не привязана никакая другая служба (используйте команду ss -lntp | grep 3306).
  • Ошибки аутентификации: Подтвердите правильность плагина, хоста (например, localhost вместо %) и пароля.
  • Память: На небольших серверах уменьшите размеры буферов, чтобы избежать ошибок нехватки памяти (OOM).

Базовая настройка производительности (безопасные значения по умолчанию)

Начинайте с небольших серверов, придерживаясь консервативного подхода, и корректируйте настройки в зависимости от нагрузки и количества медленных запросов в журнале.

# Add to mysqld section (paths differ by distro)
innodb_buffer_pool_size = 512M
innodb_log_file_size    = 256M
innodb_flush_log_at_trx_commit = 1
max_connections         = 200
thread_cache_size       = 50
query_cache_type        = 0    # MySQL 8 ignores query cache; ensure disabled
slow_query_log          = 1
slow_query_log_file     = /var/log/mysql/slow.log
long_query_time         = 1

После внесения изменений перезапустите программу. MySQL а также отслеживать производительность с помощью команды SHOW GLOBAL STATUS, просматривать журналы медленных процессов и отслеживать время отклика приложений.

Резервное копирование и техническое обслуживание

Логические резервные копии (mysqldump/mysqlpump)

# Backup one database
mysqldump -u root -p --routines --triggers --single-transaction appdb > appdb_$(date +%F).sql

# Restore
mysql -u root -p appdb < appdb_YYYY-MM-DD.sql

Для больших массивов данных или восстановления на определенный момент времени следует рассмотреть следующие варианты: MySQL Enterprise Backup или Percona XtraBackup (физические резервные копии). Всегда проверяйте восстановление.

Обновления и исправления

  • Запланируйте окна технического обслуживания для обновления до минорных версий.
  • Перед установкой патча сделайте резервную копию.
  • Ubuntu/Debian: sudo apt update && sudo apt upgrade.
  • В RHEL-подобных системах: sudo dnf update или sudo yum update.
  • Ознакомьтесь с примечаниями к выпуску, чтобы узнать об изменениях в аутентификации или репликации.

Безопасный MySQL для производства

  • Запустите mysql_secure_installation и установите надежные, уникальные пароли.
  • Отключить удаленный вход от имени root; создать учетных записей администратора с ограниченным доступом по IP-адресу.
  • Используйте TLS для клиентских подключений (настройте параметры ssl_cert, ssl_key, ssl_ca в mysqld).
  • Предоставляйте минимальные привилегии; избегайте использования команды GRANT ALL для *.* для пользователей приложения.
  • Произведите ротацию учетных данных и удалите неиспользуемые учетные записи/базы данных.
  • Включите журнал медленных запросов и регулярно его просматривайте.

Пример из реальной жизни: приложение и база данных на отдельных серверах.

  • Создайте пользователя приложения с ограниченным доступом только к IP-адресу сервера приложений.
  • Открыть порт 3306 только для этого IP-адреса (UFW или firewalld).
  • связующее вещество MySQL до 0.0.0.0 и обеспечить использование TLS для производственного трафика.
  • Отслеживайте соединения с помощью параметра performance_schema и входы в систему в журналах ошибок.
  • Установите постоянное серверное время (NTP) для получения точных журналов и резервных копий.

Когда следует выбрать управляемый хостинг или помощь экспертов?

Если вы предпочитаете сосредоточиться на разработке приложения, а не на обслуживании базы данных, рассмотрите следующие варианты. manageсерверы или оптимизированный хостинг. YouStableТарифные планы хостинга от настроены для MySQLВключает в себя приложения на основе LAMP и рекомендации по безопасной настройке, оптимизации производительности и стратегии резервного копирования — идеально подходит для WordPress, стеков LAMP/LEMP и рабочих нагрузок SaaS.

Полная шпаргалка по командам

# Ubuntu/Debian quick install
sudo apt update && sudo apt install -y mysql-server
sudo systemctl enable --now mysql
sudo mysql_secure_installation

# RHEL/CentOS/Rocky/Alma quick install (MySQL repo)
sudo dnf install -y https://dev.mysql.com/get/mysql80-community-release-el9-1.noarch.rpm
sudo dnf module disable -y mysql mariadb || true
sudo dnf install -y mysql-community-server
sudo systemctl enable --now mysqld
sudo mysql_secure_installation

# Create DB and user
sudo mysql -u root -p -e "
CREATE DATABASE appdb;
CREATE USER 'appuser'@'localhost' IDENTIFIED BY 'StrongAppPass#2025';
GRANT ALL PRIVILEGES ON appdb.* TO 'appuser'@'localhost';
FLUSH PRIVILEGES;"

# Open firewall for one host (examples)
sudo ufw allow from 203.0.113.10 to any port 3306 proto tcp
sudo firewall-cmd --add-rich-rule='rule family="ipv4" source address="203.0.113.10" port protocol="tcp" port="3306" accept' --permanent
sudo firewall-cmd --reload

Часто задаваемые вопросы: Установка MySQL на сервере Linux

Как установить MySQL на Убунту?

Выполните команду `sudo apt update`, затем `sudo apt install -y mysql-server`. Включите и запустите службу с помощью команды `sudo systemctl enable –now mysql`. Наконец, защитите её с помощью команды `sudo mysql_secure_installation`. Для получения самой новой версии... MySQL 8. Перед установкой добавьте репозиторий APT от Oracle с сайта dev.mysql.com.

Что по умолчанию MySQL Пароль root в Linux?

В Ubuntu/Debian аутентификация root может осуществляться через сокет (без пароля) или запрашивать его установку во время выполнения команды mysql_secure_installation. В системах типа RHEL используется... MySQL В репозитории после первого запуска в файл /var/log/mysqld.log записывается временный пароль root.

Как включить удалённые подключения? MySQL?

Редактировать MySQL Настройте прослушивание по адресу 0.0.0.0 (bind-address), добавьте пользователя с ограниченным доступом только к IP-адресу вашего клиента и откройте порт 3306 в брандмауэре только для этого IP-адреса. Перезапустите систему. MySQL и протестируйте с помощью команды `mysql -h DB_HOST -u USER -p`. Всегда избегайте публичного доступа к порту 3306.

Is MySQL Или MariaDB лучше подходит для серверов Linux?

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

Как я могу полностью удалить MySQL из Linux?

В Ubuntu/Debian: выполните команду sudo apt purge -y mysql-server mysql-common; затем выполните команду sudo apt autoremove -y и удалите остаточные данные в /var/lib/mysql (после резервного копирования). В системах типа RHEL: выполните команду sudo dnf remove -y mysql* и очистите все оставшиеся конфигурационные файлы, затем удалите /var/lib/mysql, если это необходимо.

Как восстановить потерянный аккаунт? MySQL Пароль root?

Stop MySQLЗапустите его с параметром –skip-grant-tables, подключитесь без пароля, обновите root. пароль пользователяЗатем перезагрузите систему в обычном режиме. Следуйте официальным инструкциям. MySQL 8. Подробные инструкции по настройке вашего дистрибутива см. в документации. Обязательно ограничьте доступ к серверу во время процесса.

Какой порт делает MySQL Использовать, и нужно ли мне это менять?

MySQL Используется TCP-порт 3306. Вы можете его изменить, но безопасность должна основываться на надежной аутентификации, TLS, брандмауэрах и списке разрешенных IP-адресов. Если вы меняете порт, обновите брандмауэры, SELinux и строки подключения приложений соответствующим образом.

Выполнив эти шаги, вы сможете уверенно установить систему. MySQL На сервере Linux обеспечьте его безопасность и подготовьте к работе в производственной среде. Если вам нужен хостинг с поддержкой экспертов, оптимизированный для... MySQL и Вордпресс, YouStable Мы поможем вам развернуть, оптимизировать и поддерживать вашу систему, используя лучшие практики с самого первого дня.

Оставьте комментарий

Ваш адрес электронной почты не будет опубликован. Обязательные поля отмечены *.

Наверх