Skip to content

phpMyAdmin

Общее описание

phpMyAdmin — это бесплатное приложение, написанное на PHP, предназначенное для удобного администрирования баз данных MySQL и MariaDB через веб-браузер. Оно предоставляет графический интерфейс (GUI), позволяющий выполнять SQL-запросы, управлять таблицами, пользователями, привилегиями, резервными копиями и многим другим без необходимости использования командной строки.

Основные особенности:

  • Удобный веб-интерфейс
  • Поддержка всех основных операций с базами данных
  • Экспорт/импорт данных (SQL, CSV, JSON, XML и др.)
  • Редактирование структуры таблиц и данных
  • Визуализация связей между таблицами
  • Поддержка нескольких серверов
  • Поддержка двухфакторной аутентификации
  • Поддержка тем оформления

Требования к системе

Минимальные требования:

  • PHP 7.2+
  • MySQL 5.5+ или MariaDB
  • Веб-сервер (Apache, Nginx, IIS)
  • Поддержка следующих расширений PHP:
  • mbstring
  • openssl
  • session
  • xml
  • json
  • gettext
  • PDO / mysqli

Установка phpMyAdmin

На Ubuntu/Debian:

sudo apt update
sudo apt install phpmyadmin php-mbstring php-gettext php-xml php-json

Во время установки: - Выберите веб-сервер (apache2 или lighttpd) - Разрешите автоматическую настройку базы данных и пользователя

После установки активируйте модуль PHP:

sudo phpenmod mbstring
sudo systemctl restart apache2

Откройте в браузере:

http://ваш_домен/phpmyadmin

На CentOS/RHEL:

sudo yum install epel-release
sudo yum install phpmyadmin

Настройка: - Отредактируйте /etc/httpd/conf.d/phpMyAdmin.conf, чтобы разрешить доступ с нужных IP - Перезапустите Apache:

sudo systemctl restart httpd

Ручная установка из исходников:

  1. Скачайте последнюю версию с https://www.phpmyadmin.net
  2. Распакуйте в папку веб-корня, например:
unzip phpMyAdmin-x.x.x-all-languages.zip
mv phpMyAdmin-x.x.x-all-languages /var/www/html/phpmyadmin
  1. Создайте конфигурационный файл:
cd /var/www/html/phpmyadmin
cp config.sample.inc.php config.inc.php
  1. Сгенерируйте секретную строку:
mkdir -p /var/lib/phpmyadmin/tmp
chmod 700 /var/lib/phpmyadmin/tmp
  1. Настройте права доступа и перезапустите веб-сервер.

Конфигурационные файлы

Файл Описание
config.inc.php Основной конфигурационный файл
libraries/config.default.php Стандартные параметры
config.sample.inc.php Пример конфигурации
.htaccess Настройка прав доступа (если используется Apache)

Пример изменения хоста:

$cfg['Servers'][$i]['host'] = 'localhost';

Пример подключения к удалённой БД:

$cfg['Servers'][$i]['host'] = 'db.example.com';
$cfg['Servers'][$i]['connect_type'] = 'tcp';

Интерфейс пользователя

После входа вы попадаете в главное окно phpMyAdmin, где можно: - Просматривать список баз данных - Управлять таблицами и данными - Выполнять SQL-запросы - Просматривать информацию о сервере - Редактировать пользователей и привилегии

Основные разделы:

  • Home — главная страница
  • Databases — управление базами данных
  • SQL — выполнение SQL-запросов
  • Status — мониторинг состояния сервера
  • Variables — просмотр и изменение переменных сервера
  • Export — экспорт данных
  • Import — импорт данных
  • User accounts — управление пользователями
  • Settings — настройки интерфейса и безопасности

Работа с базами данных

Создание новой базы данных:

  1. Перейдите в раздел "Databases"
  2. Введите имя новой БД и нажмите "Create"

Удаление:

Выберите БД → нажмите "Drop" (удаление необратимо)


Работа с таблицами

Создание таблицы:

  1. Выберите базу данных
  2. Нажмите "New"
  3. Укажите количество столбцов и нажмите "Go"
  4. Заполните поля (имя, тип, длина, индексы и т.д.)

Редактирование:

  • Добавление/удаление полей
  • Изменение типа данных
  • Настройка индексов

Управление данными:

  • Просмотр записей
  • Редактирование
  • Добавление новых записей
  • Поиск и фильтрация

SQL-запросы

Вкладка SQL позволяет: - Выполнять произвольные SQL-запросы - Сохранять часто используемые запросы - Использовать автодополнение и историю

Пример:

SELECT * FROM users WHERE age > 25;

Экспорт и импорт данных

Экспорт:

  • Поддерживаемые форматы: SQL, CSV, JSON, XML, PDF, LaTeX и др.
  • Можно экспортировать всю БД, конкретную таблицу или результаты запроса
  • Возможность выбора опций: добавить DROP TABLE, комментарии, настройки кодировки и т.д.

Импорт:

  • Поддерживает загрузку SQL-, CSV-, JSON-файлов
  • Можно импортировать данные из файла или вставить напрямую в форму

Безопасность

Рекомендации:

  • Не используйте учётную запись root для повседневной работы
  • Используйте строгие привилегии для пользователей
  • Ограничьте доступ к phpMyAdmin по IP
  • Включите HTTPS
  • Регулярно обновляйте phpMyAdmin
  • Используйте двухфакторную аутентификацию

Настройка ограничения IP (в .htaccess):

<IfModule mod_authz_core.c>
    Require ip 192.168.1.0/24
</IfModule>

Аутентификация

phpMyAdmin поддерживает несколько методов аутентификации: - cookie — стандартный способ (по умолчанию) - http — HTTP Basic Auth - config — авторизация через файл конфигурации (небезопасно)

Изменение метода в config.inc.php:

$cfg['Servers'][$i]['auth_type'] = 'cookie';

Производительность и оптимизация

Рекомендации:

  • Используйте кэширование запросов
  • Оптимизируйте медленные запросы
  • Используйте EXPLAIN для анализа запросов
  • Регулярно очищайте логи
  • Используйте SSD-накопители

Логирование и диагностика

phpMyAdmin сам не ведёт логов, но можно использовать: - Логи веб-сервера (например, /var/log/apache2/access.log, error.log) - Логи MySQL (/var/log/mysql/error.log) - Инструменты мониторинга (например, phpMyAdmin → Status)


Обновление phpMyAdmin

Через веб-интерфейс:

  1. Перейдите в раздел "Home → Settings → General"
  2. Нажмите "Check for upgrade"

Вручную:

  1. Скачайте новую версию с https://www.phpmyadmin.net
  2. Распакуйте и замените старые файлы
  3. Проверьте совместимость с текущими настройками

Многосерверная конфигурация

Вы можете настроить phpMyAdmin для подключения к нескольким серверам.

Пример в config.inc.php:

$i = 0;

// Первый сервер
$i++;
$cfg['Servers'][$i]['host'] = 'server1.example.com';
$cfg['Servers'][$i]['port'] = '3306';
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = 'password';
$cfg['Servers'][$i]['auth_type'] = 'cookie';

// Второй сервер
$i++;
$cfg['Servers'][$i]['host'] = 'server2.example.com';
$cfg['Servers'][$i]['port'] = '3306';
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = 'password';
$cfg['Servers'][$i]['auth_type'] = 'cookie';

Языковая поддержка

phpMyAdmin поддерживает более 50 языков. Чтобы изменить язык: 1. Войдите в систему 2. Перейдите в "Settings → Main frame" 3. Выберите нужный язык из выпадающего списка


Темы оформления

phpMyAdmin имеет встроенную поддержку тем: - По умолчанию используется тема "pmahomme" - Другие темы можно скачать и установить вручную - Темы находятся в каталоге themes/


API и автоматизация

phpMyAdmin не предоставляет официального API, но можно использовать: - Shell-скрипты + curl - Сторонние плагины - Интеграция с MySQL CLI


Сообщество и поддержка

Официальные источники: