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

phpMyAdmin — импорт, экспорт, настройка и FAQ

Разработчику Инженеру

Эта статья закрывает обмен данными, долговременные настройки интерфейса, управление пользователями MySQL и типичные проблемы из официального FAQ phpMyAdmin 5.2.


Импорт данных

Вкладка Импорт (уровень сервера, базы или таблицы).

ФорматНазначение
SQLДамп структуры и данных (.sql)
CSVТабличные данные
XMLСтруктурированный обмен
OpenDocumentТаблицы из LibreOffice / Excel (через ODS)

Поддерживаются сжатые файлы ZIP, GZip, BZip2 при наличии расширений PHP (zip, zlib).

Лимиты загрузки

Ограничивают php.ini:

ДирективаСмысл
upload_max_filesizeРазмер одного файла
post_max_sizeДолжен быть больше upload_max_filesize
max_execution_timeВремя выполнения импорта
memory_limitПамять на разбор большого дампа

Обходы (из FAQ):

  1. $cfg['UploadDir'] — положить файл на сервер (FTP/SCP) в каталог загрузки; в импорте выбрать файл с диска сервера.
  2. $cfg['TempDir'] — обязателен при open_basedir; временные файлы импорта.
  3. Разбить дамп утилитами вроде BigDump (сторонние; на свой риск).
  4. Импорт из shell: mysql -u root -p shop < dump.sql или в клиенте MySQL: SOURCE /path/dump.sql;

С версии 2.7+ движок импорта переработан; на актуальном phpMyAdmin большие файлы обрабатываются стабильнее, но лимиты PHP всё равно нужно поднимать или использовать UploadDir.

Импорт текста в таблицу

Загрузка текстового файла в таблицу использует каталог upload_tmp_dir из php.ini (часто /tmp). В safe mode исторически рекомендовали отдельный каталог с правами только для пользователя веб-сервера.


Экспорт (резервные копии)

Вкладка Экспорт.

РежимРезультат
БыстрыйSQL-дамп всей базы
ПользовательскийВыбор таблиц, только структура или структура+данные

Полезные опции SQL-экспорта:

  • DROP TABLE — перед созданием удалить таблицу (осторожно при восстановлении);
  • IF NOT EXISTS — не падать, если объект уже есть;
  • Данные / Структура отдельно.

Форматы: SQL, CSV, XML, JSON, PDF, OpenDocument, LaTeX и др.

Дамп SQL — основной способ миграции между серверами MySQL/MariaDB и восстановления после ошибки.


Управление пользователями MySQL

Вкладка Учётные записи пользователей (User accounts):

ДействиеОписание
СоздатьНовый пользователь, хост (localhost, %, IP)
РедактироватьПароль, привилегии
УдалитьУдаление учётки
ПривилегииГлобальные, на базу, таблицу, столбец

phpMyAdmin отображает привилегии флагами; после сохранения они применяются в MySQL немедленно.

Потеря пароля root
Восстановление пароля root делается на уровне MySQL (официальная процедура сброса прав), а не через «сброс пароля phpMyAdmin». Хостинг-провайдер сбрасывает пароль со своей стороны.

Группы пользователей и настраиваемые меню (вкладка User groups) требуют configuration storage.


Закладки, история, tracking

При настроенном pmadb:

ФункцияТаблица (префикс pma__)
Закладки SQLbookmark
История запросовhistory
Связи таблицrelation
Настройки UI пользователяuserconfig
Отслеживание измененийtracking

Создание: скрипт sql/create_tables.sql, затем указание имён таблиц в $cfg['Servers'][$i][...].


Трансформации и MIME-типы

Для столбцов можно задать MIME-тип (например image/jpeg) и трансформацию — BLOB отображается как картинка или ссылка на скачивание. Нужны GD2 для inline JPEG. Параметры хранятся в метаданных pmadb.


Безопасность установки

Рекомендации из документации Securing your phpMyAdmin installation:

МераЗачем
HTTPSЗащита cookie и паролей в транзите
Сложный blowfish_secretШифрование cookie-режима
AllowNoPassword = falseЗапрет пустых паролей
Ограничение по IP / VPNНе светить админку в интернет
Отдельный пользователь БД с минимальными правамиДля повседневной работы без SUPER
Удалить / защитить setup после установкиСкрипт первоначальной настройки
Актуальные версии phpMyAdmin и PHPЗакрытие известных CVE

phpMyAdmin не усиливает безопасность MySQL сам по себе — права нужно выдавать осознанно (GRANT).

На shared-хостинге (FAQ ISPs) избегайте входа под root из панели; используйте учётку провайдера.


FAQ — типичные ситуации

Пустая страница или «кракозябры»

  • Отключить сжатие вывода: $cfg['OBGzip'] = false, в PHP zlib.output_compression = Off (FAQ 1.1).
  • Проверить версии Apache/PHP/MySQL.

Apache падает при работе с phpMyAdmin

Обновить стек; на IIS с ISAPI перейти на cookie-аутентификацию (FAQ 1.5).

Ошибка 404 после сохранения строки

Часто неверный $cfg['PmaAbsoluteUri'] за reverse proxy — задайте полный URL установки.

open_basedir при импорте

Настроить $cfg['TempDir'] на разрешённый каталог (FAQ 1.11).

Не сжимается экспорт gzip

Нужен zlib в PHP (gzencode).

Internet Explorer и SSL

Для старых IE + Apache иногда добавляют SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-unclean-shutdown (FAQ 1.10) — актуальность для современных браузеров низкая.

Версии СУБД

  • MySQL 5.5+, MariaDB 5.5+ — поддерживаются текущим phpMyAdmin.
  • Более старые серверы — старые релизы phpMyAdmin с сайта загрузок.

phpMyAdmin и PostgreSQL

Не поддерживается. Для PostgreSQL — phpPgAdmin, pgAdmin, DBeaver, psql.


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

Через Настройки (иконка / клавиша s) меняют язык, тему, строк на странице, поведение SQL-редактора. Часть настроек сохраняется в pmadb (pma__userconfig), часть — в cookie браузера.

Глобальные значения по умолчанию — в config.inc.php (разделы Browse mode, Export and import, SQL query box, Console в официальном Configuration).


Официальная документация в Open Server

Если установлен пакет как в Open Server, локально доступны разделы:

Энциклопедия даёт сжатый маршрут на русском; детали директив $cfg[...] сверяйте с полным текстом Configuration.


См. также


См. также

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