Новости
Поздравляем с Днём системного администратора!
Serverspace Black Friday
BK
июля 23, 2025
Обновлено июля 21, 2025

Установка и настройка СУБД MySQL на Ubuntu

Ubuntu

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

СУБД играет ключевую роль в организации данных, обеспечивая их согласованность, минимизацию избыточности и упрощение доступа. Без СУБД управление большими объемами данных было бы сложным и неэффективным, особенно в веб-приложениях, требующих быстрого доступа к данным. По данным W3Techs на июль 2025 года, реляционные СУБД, такие как MySQL, используются примерно в 43% веб-сайтов с известной базой данных.

Обзор популярных СУБД

  • MySQL: Открытая реляционная СУБД, широко используемая для веб-приложений благодаря своей скорости, надежности и поддержке множества движков хранения, таких как InnoDB, который обеспечивает соответствие ACID (атомарность, согласованность, изолированность, долговечность). MySQL популярен в веб-разработке, особенно для платформ, таких как WordPress.
  • PostgreSQL: Открытая реляционная СУБД, известная своими продвинутыми функциями, такими как поддержка сложных запросов, расширенных типов данных и строгого соответствия стандартам SQL. PostgreSQL часто выбирают для корпоративных приложений, где важна целостность данных.
  • SQLite: Легковесная, безсерверная СУБД, идеально подходящая для встраиваемых систем, мобильных приложений и небольших проектов. SQLite не поддерживает многопользовательский доступ или высокую параллельность, но проста в использовании и не требует настройки сервера.

Почему MySQL?

MySQL выбран для этого руководства благодаря своей превосходной совместимости с PHP и WordPress, простоте использования и широкой поддержке сообщества. MySQL является одной из самых популярных баз данных для веб-приложений, обеспечивая баланс между производительностью и легкостью настройки. Согласно официальным требованиям WordPress, для его работы необходима СУБД MySQL версии 5.7 или выше (или MariaDB 10.3 и выше). MySQL интегрируется с PHP через расширения, такие как mysqli или mysqlnd, что делает его идеальным выбором для WordPress, который использует MySQL для хранения контента сайта, настроек и пользовательских данных.

MySQL также поддерживается крупными компаниями, включая Google (Cloud SQL), LinkedIn и Netflix (для отдельных сервисов), что подтверждает его надежность и масштабируемость. Простота установки и наличие обширной документации делают MySQL доступным как для новичков, так и для опытных администраторов.

Предварительные требования

Перед установкой MySQL на Ubuntu убедитесь, что выполнены следующие условия:

  • Операционная система Ubuntu: В этом руководстве используется Ubuntu 24.04 LTS (поддерживается до 2034 года), но инструкции применимы к другим версиям Ubuntu, таким как 20.04 или 22.04. Ubuntu — популярный выбор для серверов благодаря стабильности и поддержке сообщества.
  • Доступ с правами root или sudo: Установка пакетов и изменение системных файлов требуют административных привилегий. Используйте учетную запись с доступом sudo или root.
  • Обновленная система: Перед установкой обновите систему, чтобы избежать проблем с зависимостями:
    sudo apt update && sudo apt upgrade
  • Доступ к терминалу: Убедитесь, что у вас есть доступ к терминалу, локально или через SSH для удаленного сервера.

Также рекомендуется настроить брандмауэр (например, UFW) для безопасного доступа к порту MySQL (3306). Разрешайте подключения только с доверенных IP:

sudo ufw allow from 192.168.1.100 to any port 3306/tcp

Установка MySQL на Ubuntu

Установка MySQL на Ubuntu выполняется с помощью пакетного менеджера apt, который устанавливает последнюю доступную версию MySQL из репозиториев Ubuntu. На момент июля 2025 года в Ubuntu 24.04 по умолчанию устанавливается MySQL версии 8.0.x (например, 8.0.38 или новее).

Шаги установки

1. Обновите список пакетов
Обновите индекс пакетов, чтобы убедиться, что вы устанавливаете последние версии:

sudo apt update

2. Установите MySQL сервер
Установите пакет mysql-server, который включает сервер MySQL и необходимые зависимости:

sudo apt install mysql-server

Эта команда автоматически устанавливает и запускает службу MySQL. После установки MySQL будет настроен для автозапуска при загрузке системы.

3. Проверьте версию MySQL
Убедитесь, что установка прошла успешно, проверив версию:

mysql --version

Ожидаемый вывод, например:

mysql Ver 8.0.38-2ubuntu3 for Linux on x86_64 ((Ubuntu))

4. Запустите скрипт безопасности
Для повышения безопасности выполните:

sudo mysql_secure_installation

Этот скрипт проведет вас через несколько шагов настройки:

  • Установка плагина VALIDATE PASSWORD: Настройка политики сложности паролей (рекомендуется выбрать уровень 2).
  • Установка пароля для root: Если пароль еще не установлен, задайте надежный пароль для учетной записи root MySQL.
  • Удаление анонимных пользователей: Ответьте Y (да), чтобы удалить анонимные учетные записи.
  • Запрет удаленного входа для root: Ответьте Y, чтобы запретить вход root с удаленных хостов.
  • Удаление тестовой базы данных: Ответьте Y для удаления демонстрационных баз данных.
  • Перезагрузка таблиц привилегий: Ответьте Y, чтобы применить изменения.

Рекомендуется отвечать Y на все вопросы для обеспечения максимальной безопасности.

Базовая настройка

После установки MySQL можно настроить для оптимальной работы. Основной файл конфигурации находится по пути /etc/mysql/mysql.conf.d/mysqld.cnf. Этот файл содержит специфические настройки сервера.

Обзор файла конфигурации

Файл /etc/mysql/mysql.conf.d/mysqld.cnf содержит секции:

  • [mysqld]: Настройки сервера MySQL (порт 3306, директория данных /var/lib/mysql).
  • [client]: Настройки для клиентов MySQL.

Для редактирования файла используйте текстовый редактор:

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

Пример изменения: увеличение размера буфера для InnoDB:

[mysqld]
innodb_buffer_pool_size = 256M

После внесения изменений перезапустите MySQL:

sudo systemctl restart mysql

Настройка учетных записей пользователей

В MySQL 8.0 по умолчанию используется плагин аутентификации caching_sha2_password. Для совместимости со старыми приложениями можно изменить его:

1. Войдите в оболочку MySQL:

sudo mysql

2. Создайте пользователя с совместимым методом аутентификации:

CREATE USER 'new_user'@'localhost' IDENTIFIED WITH mysql_native_password BY 'secure_password';

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

GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, ALTER ON *.* TO 'new_user'@'localhost';

4. Примените изменения:

FLUSH PRIVILEGES;

5. Выйдите:

EXIT;

Создание базы данных и пользователя для WordPress

Для работы WordPress требуется база данных и пользователь с соответствующими привилегиями. Следуйте этим шагам:

1. Войдите в оболочку MySQL
Войдите как root:

sudo mysql

2. Создайте базу данных
Создайте базу данных с именем wordpress:

CREATE DATABASE wordpress CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

3. Создайте пользователя
Создайте пользователя для WordPress:

CREATE USER 'wp_user'@'localhost' IDENTIFIED WITH mysql_native_password BY 'secure_password';

Замените secure_password на надежный пароль.

4. Предоставьте привилегии
Дайте пользователю минимально необходимые права для работы с базой wordpress:

GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES
ON wordpress.* TO 'wp_user'@'localhost';

5. Примените изменения
Обновите таблицы привилегий:

FLUSH PRIVILEGES;

6. Выйдите из оболочки

EXIT;

Тестирование подключения к базе данных

Чтобы убедиться, что пользователь может подключиться к базе данных, выполните:

1. Войдите с новым пользователем
Подключитесь к MySQL с учетной записью wp_user:

mysql -u wp_user -p

Введите пароль.

2. Проверьте доступ к базе данных
Выберите базу данных и проверьте привилегии:

USE wordpress;
SHOW TABLES;

Если команды выполняются без ошибок — подключение работает.

3. Выйдите из оболочки

EXIT;

Устранение проблем

Если MySQL не работает как ожидалось, используйте следующие методы диагностики:

1. Проверка статуса службы MySQL

sudo systemctl status mysql

Если служба не активна, запустите ее:

sudo systemctl start mysql

2. Просмотр логов ошибок

sudo tail -50 /var/log/mysql/error.log

3. Решение типичных проблем

  • Ошибка аутентификации в MySQL 8.0: Сброс пароля root:
    sudo systemctl stop mysql
    sudo mysqld_safe --skip-grant-tables &
    mysql -u root

    В оболочке MySQL:

    FLUSH PRIVILEGES;
    ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_strong_password';
    EXIT;

    Перезапустите сервер: sudo systemctl start mysql

  • Занятость порта 3306:
    sudo ss -tulpn | grep ':3306'
  • Проблемы совместимости: Если приложение не поддерживает новый метод аутентификации:
    ALTER USER 'пользователь'@'localhost' IDENTIFIED WITH mysql_native_password BY 'пароль';

Установка и настройка MySQL на Ubuntu — это простой процесс, который позволяет подготовить надежную базу данных для веб-приложений, таких как WordPress. Следуя приведенным шагам, вы можете установить MySQL, настроить базу данных и пользователя для WordPress, протестировать подключение и устранить возможные проблемы. MySQL остается популярным выбором благодаря своей совместимости с PHP, простоте использования и поддержке сообщества.

Таблица: Основные команды для установки и настройки MySQL

Команда Описание
sudo ufw allow from 192.168.1.0/24 to any port 3306 Безопасное открытие порта MySQL
sudo apt install mysql-server Установка MySQL
sudo mysql_secure_installation Настройка безопасности
CREATE USER 'user'@'localhost' IDENTIFIED WITH mysql_native_password BY 'pass' Создание пользователя (совместимый метод)
GRANT SELECT, INSERT, UPDATE, DELETE ON db.* TO 'user'@'localhost' Минимальные привилегии
sudo mysqld_safe --skip-grant-tables & Запуск в режиме восстановления
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_pass' Сброс пароля root
Оценка:
5 из 5
Аverage rating : 5
Оценок: 1
050000 г. Алматы пр. Сейфуллина, д. 502
+7 (771) 944-45-66
ООО «ИТГЛОБАЛКОМ ЛАБС»

Вам также может быть интересно...