Перейти к основному содержимому

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
Миниатюры JPEGGD2
Импорт XML / ODSlibxml
Проверка новой версииallow_url_fopen или curl
Прогресс загрузкисм. FAQ по upload progress bar

Параметры upload_max_filesize, post_max_size, max_execution_time, memory_limit в php.ini ограничивают импорт больших дампов — их поднимают при необходимости (см. статью 4).

СУБД — с какими работает

phpMyAdmin поддерживает MySQL-совместимые серверы:

СУБДМинимальная версия
MySQL5.5 и новее
MariaDB5.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 пакета.


Подключение к серверу БД

После открытия 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, вход автоматическийФайл конфига должен быть недоступен извне
httpBasic-аутентификация веб-сервераЗависит от настройки 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.

Краткая схема:

  1. Создать базу и пользователя с правами только на служебные таблицы.
  2. Выполнить create_tables.sql.
  3. Указать в config.inc.php: $cfg['Servers'][$i]['pmadb'], bookmarktable, relation, history и др.

Без pmadb основные операции с данными работают; отключаются закладки, история и часть визуальных связей для MyISAM.


Проверка установки

  1. Откройте главную phpMyAdmin — нет предупреждений о blowfish_secret или расширениях.
  2. Войдите под пользователем MySQL.
  3. Откройте вкладку SQL, выполните SELECT VERSION();.
  4. Создайте тестовую БД и удалите её (если есть права).

Дальше — работа с SQL, DDL и DML.


См. также

Другие статьи этого же раздела в боковом меню (как на странице "О разделе").