hostprofi.ru
Подобрать хостинг
Термин·буква M

MySQL

краткое определение

MySQL — реляционная система управления базами данных (RDBMS) с открытым кодом, основанная на SQL. Самая популярная СУБД для веб-приложений: WordPress, Joomla, Magento, phpBB работают на MySQL.

MySQL — реляционная СУБД с открытым исходным кодом под лицензией GPL и коммерческой лицензией Oracle. Хранит данные в таблицах, связанных внешними ключами; язык запросов — SQL. Самая распространённая СУБД в веб-разработке: предустановлена на большинстве PHP-хостингов, является основой стека LAMP (Linux + Apache + MySQL + PHP).

Архитектура и движки хранения

MySQL использует плагинную архитектуру хранилищ (Storage Engines). Основные движки:

  • InnoDB — дефолтный с MySQL 5.5 (2010). ACID-транзакции, внешние ключи, row-level locking, MVCC. Оптимален для OLTP. Буферный пул (innodb_buffer_pool_size) должен составлять 70–80% RAM сервера.
  • MyISAM — устаревший, без транзакций, table-level locking. Быстрее для read-heavy нагрузок без конкуренции. С MySQL 8.0 не рекомендуется к использованию.
  • Memory — данные только в RAM, для временных таблиц и кэша в запросах.
  • Federated — обращение к удалённым MySQL-серверам как к локальным таблицам.

История

MySQL создан Михаэлем Видениусом («Monty Widenius») и Давидом Акселем в 1994–1995 годах в Швеции. Первый публичный релиз — май 1995 года. MySQL 4.0 (2002) — поддержка UNION. MySQL 5.0 (2005) — хранимые процедуры, триггеры, views. В 2008 году MySQL AB куплена Sun Microsystems за $1 млрд; в 2010-м Oracle купила Sun. Опасаясь корпоративных изменений, Видениус в 2009 году создал форк MariaDB. MySQL 8.0 (2018) добавил оконные функции, CTE, атомарные DDL, ролевую модель, удалил устаревший Query Cache. MySQL 8.4 (LTS, 2024) — текущий стабильный релиз.

MySQL vs MariaDB vs PostgreSQL

ПараметрMySQL 8.4MariaDB 11PostgreSQL 16
ЛицензияGPL + коммерческая OracleGPL (полностью open)PostgreSQL (MIT-like)
JSON поддержкаДаДа (JSON_TABLE)JSONB (бинарный, быстрее)
Параллельные запросыОграниченноОграниченноПолная поддержка
РепликацияBinlog, GTID, Group ReplicationGalera Cluster нативноStreaming, Logical
Типичное применениеWordPress, LAMPDrop-in замена MySQLАналитика, геоданные, сложные запросы

Настройка производительности

Ключевые параметры my.cnf: innodb_buffer_pool_size = 70% RAM (например, 14 ГБ при 20 ГБ RAM); max_connections — по умолчанию 151, при использовании connection pooler снизить до 50–100; query_cache_size = 0 (удалён в 8.0); innodb_io_capacity = 2000 для SSD; innodb_flush_log_at_trx_commit = 2 для баланса скорости и надёжности.

На что обращать внимание

MySQL предустановлен на большинстве хостингов с cPanel, ISPmanager, DirectAdmin. Управление через phpMyAdmin или CLI mysql -u root -p. Для бэкапа — mysqldump или Percona XtraBackup (для горячего бэкапа без остановки сервера). При миграции на новый сервер проверяй совместимость charset: utf8mb4 должен быть везде — в БД, таблицах, подключении и my.cnf.

Другие термины