Система управления базами данных (СУБД) — это программное обеспечение, предназначенное для создания, управления и манипулирования базами данных. СУБД предоставляет интерфейс для взаимодействия с базой данных, обеспечивая создание, защиту, чтение, обновление и удаление данных. Она также управляет безопасностью, целостностью данных и параллельным доступом, что делает ее незаменимой для современных приложений, от небольших веб-сайтов до крупных корпоративных систем.
СУБД играет ключевую роль в организации данных, обеспечивая их согласованность, минимизацию избыточности и упрощение доступа. Без СУБД управление большими объемами данных было бы сложным и неэффективным, особенно в веб-приложениях, требующих быстрого доступа к данным. По данным 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:
Установка MySQL на Ubuntu
Установка MySQL на Ubuntu выполняется с помощью пакетного менеджера apt, который устанавливает последнюю доступную версию MySQL из репозиториев Ubuntu. На момент июля 2025 года в Ubuntu 24.04 по умолчанию устанавливается MySQL версии 8.0.x (например, 8.0.38 или новее).
Шаги установки
1. Обновите список пакетов
Обновите индекс пакетов, чтобы убедиться, что вы устанавливаете последние версии:
2. Установите MySQL сервер
Установите пакет mysql-server, который включает сервер MySQL и необходимые зависимости:
Эта команда автоматически устанавливает и запускает службу MySQL. После установки MySQL будет настроен для автозапуска при загрузке системы.
3. Проверьте версию MySQL
Убедитесь, что установка прошла успешно, проверив версию:
Ожидаемый вывод, например:
4. Запустите скрипт безопасности
Для повышения безопасности выполните:
Этот скрипт проведет вас через несколько шагов настройки:
- Установка плагина 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.
Для редактирования файла используйте текстовый редактор:
Пример изменения: увеличение размера буфера для InnoDB:
innodb_buffer_pool_size = 256M
После внесения изменений перезапустите MySQL:
Настройка учетных записей пользователей
В MySQL 8.0 по умолчанию используется плагин аутентификации caching_sha2_password. Для совместимости со старыми приложениями можно изменить его:
1. Войдите в оболочку MySQL:
2. Создайте пользователя с совместимым методом аутентификации:
3. Предоставьте необходимые привилегии:
4. Примените изменения:
5. Выйдите:
Создание базы данных и пользователя для WordPress
Для работы WordPress требуется база данных и пользователь с соответствующими привилегиями. Следуйте этим шагам:
1. Войдите в оболочку MySQL
Войдите как root:
2. Создайте базу данных
Создайте базу данных с именем wordpress:
3. Создайте пользователя
Создайте пользователя для WordPress:
Замените secure_password на надежный пароль.
4. Предоставьте привилегии
Дайте пользователю минимально необходимые права для работы с базой wordpress:
ON wordpress.* TO 'wp_user'@'localhost';
5. Примените изменения
Обновите таблицы привилегий:
6. Выйдите из оболочки
Тестирование подключения к базе данных
Чтобы убедиться, что пользователь может подключиться к базе данных, выполните:
1. Войдите с новым пользователем
Подключитесь к MySQL с учетной записью wp_user:
Введите пароль.
2. Проверьте доступ к базе данных
Выберите базу данных и проверьте привилегии:
SHOW TABLES;
Если команды выполняются без ошибок — подключение работает.
3. Выйдите из оболочки
Устранение проблем
Если MySQL не работает как ожидалось, используйте следующие методы диагностики:
1. Проверка статуса службы MySQL
Если служба не активна, запустите ее:
2. Просмотр логов ошибок
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 |