phpMyAdmin — требования, установка и подключение
Установка phpMyAdmin сводится к размещению файлов в каталоге, доступном веб-серверу, и настройке config.inc.php. Права на объекты MySQL по-прежнему задаёт администратор СУБД — phpMyAdmin лишь вызывает те привилегии, которые есть у вошедшего пользователя.
Требования (phpMyAdmin 5.2)
Веб-сервер
Нужен любой сервер, способный выполнять PHP: Apache, nginx, IIS и др. Файлы проекта кладут в document root или в отдельный каталог с алиасом (как в настройке Apache для XAMPP).
PHP
| Требование | Детали |
|---|---|
| Версия | PHP 7.2.5 или новее (для актуальных релизов 5.2 — лучше PHP 8.x из вашего стека) |
| Обязательно | session, SPL, hash, ctype, JSON |
| Сильно рекомендуется | mbstring (кодировки и производительность) |
| Для cookie-входа | openssl (шифрование cookie по умолчанию) |
| Импорт ZIP | расширение zip |
| Миниатюры JPEG | GD2 |
| Импорт XML / ODS | libxml |
| Проверка новой версии | allow_url_fopen или curl |
| Прогресс загрузки | см. FAQ по upload progress bar |
Параметры upload_max_filesize, post_max_size, max_execution_time, memory_limit в php.ini ограничивают импорт больших дампов — их поднимают при необходимости (см. статью 4).
СУБД — с какими работает
phpMyAdmin поддерживает MySQL-совместимые серверы:
| СУБД | Минимальная версия |
|---|---|
| MySQL | 5.5 и новее |
| MariaDB | 5.5 и новее |
PostgreSQL, SQLite, MS SQL этим клиентом не обслуживаются. Для PostgreSQL — глава phpPgAdmin, а также pgAdmin, DBeaver, psql.
Старые версии MySQL требуют старых релизов phpMyAdmin с страницы загрузок проекта.
Браузер
Cookies и JavaScript включены; поддержка браузеров — по списку Bootstrap 5.0 (см. официальную документацию).
Установка
Готовый стек (рекомендуется новичку)
XAMPP, Open Server, Laragon и аналоги уже содержат phpMyAdmin — отдельная установка не нужна, достаточно запустить модули и открыть URL из первой статьи.
Windows без стека
Часто ставят XAMPP или копируют релиз с phpmyadmin.net в каталог веб-сервера.
Composer
composer create-project phpmyadmin/phpmyadmin
Либо с официальным репозиторием пакетов (см. документацию Installing using Composer).
Docker
docker pull phpmyadmin
Типичные переменные окружения:
| Переменная | Назначение |
|---|---|
PMA_HOST | Хост СУБД |
PMA_PORT | Порт |
PMA_USER / PMA_PASSWORD | Для режима config |
PMA_ARBITRARY | Разрешить ввод хоста на форме входа |
PMA_ABSOLUTE_URI | Полный URL за reverse proxy |
Linux (пакет дистрибутива)
В Debian/Ubuntu конфигурация может лежать в /etc/phpmyadmin/, а не рядом с исходниками — отличия описаны в README пакета.
Подключение к серверу БД
Параметры на форме входа (режим cookie)
После открытия phpMyAdmin укажите:
| Поле | Локальная разработка (типично) |
|---|---|
| Сервер | 127.0.0.1 или localhost |
| Пользователь | root или пользователь проекта |
| Пароль | пустой или заданный вами |
Порт по умолчанию 3306. Если MySQL слушает другой порт (настройка в my.ini / my.cnf OSP), его указывают в конфиге или в расширенных параметрах входа.
Файл config.inc.php
Все переопределения настроек — в config.inc.php в корне phpMyAdmin. Незаданные параметры берутся из libraries/config.default.php (этот файл не редактируют).
Минимальный пример одного сервера:
<?php
$cfg['blowfish_secret'] = 'длинная_случайная_строка_не_менее_32_символов';
$i = 1;
$cfg['Servers'][$i]['auth_type'] = 'cookie';
$cfg['Servers'][$i]['host'] = '127.0.0.1';
$cfg['Servers'][$i]['port'] = '3306';
$cfg['Servers'][$i]['extension'] = 'mysqli';
$cfg['Servers'][$i]['AllowNoPassword'] = true; // только локально, в проде — false
AllowNoPassword = false), запретите слабый root с внешней сети, используйте HTTPS и ограничьте доступ к URL phpMyAdmin по IP или VPN.Ключевые директивы из раздела Configuration:
| Директива | Назначение |
|---|---|
$cfg['PmaAbsoluteUri'] | Полный URL установки за reverse proxy |
$cfg['Servers'][$i]['host'] | Хост БД (массив $i начинается с 1, не с 0) |
$cfg['Servers'][$i]['port'] | Порт |
$cfg['Servers'][$i]['auth_type'] | cookie, config, http, signon |
$cfg['Servers'][$i]['user'] / password | Для auth_type = config |
$cfg['Servers'][$i]['pmadb'] | База для расширенных функций (закладки, история) |
$cfg['TempDir'] | Временные файлы импорта при open_basedir |
Несколько серверов — несколько блоков $cfg['Servers'][$i] с разными $i.
Способы соединения PHP ↔ MySQL
| Способ | Когда |
|---|---|
TCP 127.0.0.1:3306 | Универсально, удалённый сервер |
| Сокет (Unix socket / named pipe) | Тот же хост, часто быстрее локально |
Тип extension в конфиге: mysqli (актуальный вариант).
SSL к серверу БД
В документации setup описано подключение к MySQL по SSL (сертификаты клиента, проверка CA). Это отдельно от HTTPS между браузером и phpMyAdmin.
Режимы аутентификации
| Режим | Поведение | Риск |
|---|---|---|
| cookie (по умолчанию) | Логин/пароль MySQL на странице phpMyAdmin; сессия в cookie | Нужен blowfish_secret и HTTPS в проде |
| config | Учётные данные в config.inc.php, вход автоматический | Файл конфига должен быть недоступен извне |
| http | Basic-аутентификация веб-сервера | Зависит от настройки Apache/IIS |
phpMyAdmin не подменяет систему прав MySQL: видимые базы и операции определяются GRANT пользователя, под которым вы вошли.
Blowfish и HTTPS
Для cookie задайте $cfg['blowfish_secret'] (32+ символа). Передача логина по незашифрованному HTTP опасна — на проде включайте HTTPS.
Дополнительно доступна двухфакторная аутентификация (TOTP, U2F) — см. статью 4 и официальный раздел Two-factor authentication.
Configuration storage (pmadb)
Расширенные функции (закладки SQL, история, Designer, tracking) требуют отдельной базы configuration storage (часто имя phpmyadmin или pmadb) и таблиц из скрипта sql/create_tables.sql.
Краткая схема:
- Создать базу и пользователя с правами только на служебные таблицы.
- Выполнить
create_tables.sql. - Указать в
config.inc.php:$cfg['Servers'][$i]['pmadb'],bookmarktable,relation,historyи др.
Без pmadb основные операции с данными работают; отключаются закладки, история и часть визуальных связей для MyISAM.
Проверка установки
- Откройте главную phpMyAdmin — нет предупреждений о
blowfish_secretили расширениях. - Войдите под пользователем MySQL.
- Откройте вкладку SQL, выполните
SELECT VERSION();. - Создайте тестовую БД и удалите её (если есть права).
Дальше — работа с SQL, DDL и DML.
См. также
Другие статьи этого же раздела в боковом меню (как на странице "О разделе"). Веб-интерфейс на PHP для MySQL и MariaDB: архитектура браузер → веб-сервер → PHP → СУБД, стеки XAMPP, Open Server, Docker. Где выполнять SQL, вкладки и консоль, создание БД и таблиц, DDL и DML через интерфейс и запросы. Дампы SQL и CSV, UploadDir и TempDir, pmadb, пользователи MySQL, безопасность установки и ответы из официального FAQ. От MySQL-Webadmin и WebDB до phpMyAdmin 5.x и phpPgAdmin 7.x — общие корни, развилки по СУБД, эпохи PHP и роль pgAdmin.phpMyAdmin — что это и где встретить
phpMyAdmin — SQL, DDL и DML
phpMyAdmin — импорт, экспорт, настройка и FAQ
История phpMyAdmin, phpPgAdmin и веб-админок БД на PHP