Установка и настройка PHPMyAdmin
phpMyAdmin — это бесплатный программный инструмент, написанный на PHP и предназначенный для администрирования MySQL через веб-браузер.
phpMyAdmin поддерживает широкий спектр операций с MySQL и MariaDB. Часто используемые операции (управление базами данных, таблицами, столбцами, отношениями, индексами, пользователями, разрешениями и т. д.) могут выполняться через пользовательский интерфейс, при этом у вас все еще есть возможность напрямую выполнять любой оператор SQL.
Функции
Интуитивно понятный веб-интерфейс
Поддержка большинства функций MySQL:
просматривать и удалять базы данных, таблицы, представления, поля и индексы
создавать, копировать, удалять, переименовывать и изменять базы данных, таблицы, поля и индексы
сервер обслуживания, базы данных и таблицы, с предложениями по настройке сервера
выполнять, редактировать и добавлять в закладки любые операторы SQL , даже пакетные запросы
управлять учетными записями пользователей и привилегиями MySQL
управлять хранимыми процедурами и триггерами
Импорт данных из CSV и SQL
Экспорт данных в различные форматы: CSV , SQL , XML , PDF , ISO / IEC 26300 — OpenDocument Text and Spreadsheet, Word , L A T E X и другие
Администрирование нескольких серверов
Создание графики макета вашей базы данных в различных форматах
Создание сложных запросов с использованием Query-by-example (QBE)
Глобальный поиск в базе данных или ее подмножестве
Преобразование сохраненных данных в любой формат с помощью набора предопределенных функций, таких как отображение BLOB-данных в виде изображения или ссылки для скачивания.
И многое другое...
Установка phpMyAdmin
Первый шаг — установка модуля расширения php-mbstring. Mbstring предоставляет функции для работы с многобайтными строками, которые облегчают обработку многобайтовых кодировок в php.
Команда установки:
Вывод успешной установки:
Следующим этапом станет инсталляция phpMyAdmin в систему. Выполняется это командой:
Обратить внимание на Validate Password
Во время инсталляции LAMP мог быть активирован плагин Validate Password. Это чревато ошибкой при создании пароля для пользователя phpmyadmin. Для деактивации плагина необходимо выполнить следующие шаги:
Открыть консоль управления MySQL:
Если активна аутентификация по паролю суперпользователя root, команда будет выглядеть так:
Теперь отправляем следующую команду:
Это действие произведет отключение плагина Validate Password.
Покинем консоль MySQL, команда:
Можно продолжить установку phpMyAdmin. Эти действия следует производить только в случае возникновения ошибки, во всех остальных случаях в этом нет необходимости.
Продолжим установку. После отправки команды в терминал появится окно установщика, в котором потребуется ответить на ряд вопросов. Навигация в установщике осуществляется посредством использования клавиш Up down, выбор пунктов кнопка «Пробел», переход ниже — Tab. Ввод выбранного ответа — Enter.
На первый вопрос про используемый web-сервер, необходимо ответить — apache2.
Следующий вопрос про инсталляцию и настройку служебной базы данных для самой программы phpMyAdmin, отвечаем положительно.
Следующим пунктом будет установлен пароль ранее созданной базы данных для пользователя phpmyadmin:
Подтвердим созданный ранее пароль:
Вывод успешной работы программы:
Установка завершена. Прежде чем пойти далее, необходимо произвести проверку работоспособности на данном этапе, чтобы в случае возникновения проблем, их можно было решить с наименьшими трудозатратами.
Проверим. В любом браузере открываем phpMyAdmin по IP-адресу сервера:
Теперь можно войти в систему с использованием учетной записи, созданной во время установки. Проверяем:
Для учетной записи root по умолчанию применяется доступ с использованием плагина auth_socket. Изменим это на аутентификацию с использованием пароля. В данном случае необходимо изменить тип аутентификации на аутентификацию с использованием пароля.
Откроем консоль MySQL:
Произведем проверку таблицы пользователей, чтобы увидеть метод аутентификации для каждого пользователя:
Вывод:
Исходя из данных таблицы следует, что аутентификация пользователя root происходит с использованием плагина auth_socket.
Для изменения отправим следующую команду:
Password добавляем свой.
Вывод работы команды:
В случае возникновения ошибки Plugin caching_sha2_password in not loaded следует обратиться к разделу «Возможные ошибки» в конце статьи.
Проверим результат.
Вывод:
Теперь у пользователя root тип аутентификации — caching_sha2_password.
Работа с пользователями
Основная задача в работе с пользователями phpMyAdmin — создание и настройка прав. В качестве примера создадим пользователя с максимальными привилегиями. Необходимо вернуться в терминал под пользователем с административными правами и отправить команду:
Так мы запустим работу с базой данных от имени администратора. Потребуется ввод пароля.
Вывод:
Теперь необходимо добавить пользователя, а также его пароль. Выполнить это можно командой:
где user — новый пользователь, а password — пароль для этого пользователя.
В рабочем варианте отправленная команда выглядит так:
Вывод:
Добавим необходимые привилегии для созданного пользователя. В данном случае это будут все привилегии для всех баз данных на сервере:
Если пользователю необходимо разрешить создавать пользователей и назначать им привилегии, необходимо добавить опции:
В данном примере в этом нет необходимости, поэтому будут только назначены полные привилегии для всех баз данных:
Вывод:
Остается только применить изменения в настройках привилегий для этого служит команда:
Вывод:
В некоторых случаях может потребоваться удаление ранее созданного пользователя.
Это выполняется с использованием команды:
Проверяем что пользователь существует:
Отправленная команда осуществляет вывод списка текущих пользователей.
Вывод:
Убедившись что пользователь ‘selectel’ активен, можно произвести удаление:
Вывод:
Производим повторную проверку, убеждаясь в его отсутствии в списке.
Вывод:
На этом настройка пользователей завершена. Для выхода из mysql необходимо отправить команду exit.
Обеспечение безопасности phpMyAdmin
Если к серверу есть хоть какой-то доступ из интернета или ненадежной сети, необходимо обеспечить безопасность, добавив авторизацию.
Требуется создать файл .htaccess, который является конфигурационным файлом web-сервера Apache. Он дает возможность управлять web-сервером и настройками web-приложения с помощью директив, без изменения основного файла конфигурации web-сервера. В данной инструкции будет использован текстовый редактор nano.
Создаем файл .htaccess в директории /usr/share/phpmyadmin/ и вносим в него следующие директивы:
Производим команду:
AuthType Basic — авторизация по паролю;
Authname «Restricted Content» — сообщение для окна авторизации;
AuthUserFile /etc/phpmyadmin/.htpasswd — путь к файлу пароля, который будет использован для авторизации;
Require valid-user — директива указывает, что только авторизованные пользователи получат доступ к ресурсу.
Теперь необходимо установить пароль учетной записи.
где user — учетная запись.
Отправляем команду:
и дважды вводим пароль.
Вывод:
Далее необходимо включить использование файлов .htaccess для директории /usr/share. Для этого откроем для редактирования файл apache2.conf и внесем изменения директивы для директории.
По умолчанию файл выглядит так:
Вносим изменения в необходимую директиву:
Вывод:
Сохраняем, перечитаем конфигурацию Apache2, отправкой команды:
Если сервер пока не в активной работе можно перезапустить демона командой:
При попытке попасть в phpMyAdmin теперь потребуется дополнительная авторизация.
После ввода верных учетных данных авторизация проходит успешно.
Удаление phpMyAdmin (опционально)
Удаление происходит с использованием этих команд:
Отвечаем на все вопросы положительно.
Вывод:
Для очистки неиспользуемых зависимостей применяем:
Вывод:
Перезапускаем демон apache2:
PhpMyAdmin удален с сервера.
Возможные ошибки
В процессе изменения типа аутентификации учетной записи root:
Возможно возникновение ошибки:
Это вызвано тем, что в свежих версиях mysql тип аутентификации по умолчанию:
Это не позволит произвести удаленное подключение к mysql и вызовет ошибку плагина:
Возможным вариантом решения является установка типа аутентификации:
Команда выглядит так:
Теперь возможен доступ пользователя к mysql с localhost.
Для подключения с нескольких хостов необходимо изменить команду:
Для применения изменений необходимо использовать:
Заключение
Мы рассмотрели установку и настройку phpMyAdmin на операционной системе Ubuntu 20.04. Мы разобрали основные моменты, которых достаточно для того, чтобы быстро и качественно установить данный инструмент на сервер, а также рассмотрели настройки безопасности.
Рекомендую также изучить статьи по установке и настройке phpMyAdmin на ОС CentOS 7, авторы приводят данных статей приводят более исчерпывающие настройки (вкл. оптимизацию phpMyAdmin):
Last updated