Как использовать Adminer для простого управления базами данных с помощью одного PHP-файла

Опубликовано: 2021-01-18

Управление базами данных MySQL является одним из основных требований профессионального разработчика WordPress. Администратор значительно упрощает эту задачу.

Каждому сайту WordPress для работы требуется база данных — именно там WordPress хранит все важные данные ваших сайтов. Хотя phpMyAdmin уже много лет является основным инструментом управления базами данных MySQL/MariaDB, Adminer является отличной альтернативой. Он поставляется с множеством полезных функций и более красивым пользовательским интерфейсом, и все это в одном легком PHP-файле, который вы можете быстро развернуть на своем сервере.

В этом посте вы узнаете об Adminer, о многих преимуществах, которые он предлагает по сравнению с phpMyAdmin, и о том, как вы можете использовать его для управления своими базами данных. Мы также рассмотрим, как DevKinsta использует Adminer для упрощения управления базами данных WordPress в локальных средах разработки.

Давай приступим к работе!

Хотите упростить управление базами данных MySQL? Входите, Админ. Узнайте больше о его преимуществах (и почему это лучший выбор, чем phpMyAdmin) прямо здесь Нажмите, чтобы твитнуть

Что такое администратор?

Adminer (ранее phpMinAdmin) — это бесплатный инструмент управления базами данных с открытым исходным кодом на основе PHP. Его очень просто развернуть на вашем сервере. Чтобы использовать его, все, что вам нужно сделать, это загрузить его единственный файл PHP, указать его в браузере и войти в систему.

Основная страница входа администратора
Страница входа администратора

В отличие от phpMyAdmin, который поддерживает только управление базами данных MySQL и MariaDB , Adminer также поддерживает управление другими базами данных, такими как PostgreSQL , SQLite , MS SQL , Oracle , SimpleDB , Elasticsearch , MongoDB и Firebird . Он также доступен на 43 языках.

Администратор предоставляет простой в использовании интерфейс, улучшенную поддержку многих функций MySQL, более высокую производительность и повышенную безопасность.

Давайте рассмотрим, как установить Adminer сейчас.

Как использовать администратор

Но прежде чем приступить к его установке, вот несколько основных требований для работы администратора на вашем сервере:

  • Установите PHP 5, 7 или 8
  • Драйвер базы данных (например, MySQL, PostgreSQL и т. д.)

Вот и все!

Загрузите последнюю версию Adminer с их официального сайта. Вы также можете найти версии Adminer только для MySQL и только для английского языка. Если вы управляете базой данных MySQL или MariaDB (например, для сайта WordPress), вы можете получить эти более легкие варианты.

Загрузка последней версии администратора
Загрузка последней версии администратора

В качестве альтернативы, если вы используете терминал, вы можете загрузить его прямо в свой каталог с помощью команды curl .

 curl -o https://github.com/vrana/adminer/releases/download/v4.7.8/adminer-4.7.8.php

Adminer 4.7.8 — последняя стабильная версия. Он добавляет поддержку только что выпущенного PHP 8.0. Вы можете изменить номер версии администратора в приведенном выше URL-адресе загрузки кода, если доступна новая версия.

После загрузки вы можете поместить этот файл .php в любое место на вашем сервере, например, в его корневую папку. Однако хорошей практикой является размещение всех ваших сторонних инструментов в отдельном каталоге (например, vendor , assets и т. д.).

Теперь вы установили Adminer на свой сервер. Его конструкция plug-and-play означает, что Adminer будет работать практически на любом сервере.

Как получить доступ к администратору

Чтобы получить к нему доступ, все, что вам нужно сделать, это перейти по ссылке через браузер.

Например, если вы разместили его в корневом каталоге своего веб-сайта, вы можете получить к нему доступ, посетив https://your-website.com/adminer-4.7.8.php . Если у вас нет настроенного доменного имени, вы также можете получить к нему доступ через IP-адрес вашего сервера или среду localhost.

Вход в Adminer с именем базы данных или без него
Вход в Adminer с именем базы данных или без него

Отсюда вы можете войти в любую базу данных, установленную на вашем сервере. Вы также можете оставить поле базы данных пустым. Администратор покажет вам список всех баз данных на следующем экране.

Если вы установите флажок « Постоянный вход », ваши данные для входа будут сохранены, чтобы вы могли легко вернуться к этому сеансу позже по ссылкам сбоку.

Администратор перечисляет все базы данных, если вы не укажете одну
Администратор перечисляет все базы данных, если вы не укажете ни одну

Функции администратора

Adminer включает в себя множество функций, упрощающих управление базой данных. Пришло время глубоко погрузиться в них.

Подключиться к серверу базы данных

Как объяснялось ранее, вы можете подключиться к любому серверу базы данных, поддерживаемому администратором. Для сервера базы данных MySQL имя пользователя по умолчанию — root, а пароль по умолчанию — пустая строка. Здесь также можно выбрать существующую базу данных для управления.

Изучение базы данных WordPress с помощью администратора
Изучение базы данных WordPress с помощью администратора

Создать новую базу данных

Вы можете щелкнуть ссылку « Создать базу данных », чтобы создать новую базу данных MySQL. Введите имя базы данных и выберите ее тип сопоставления. Для баз данных WordPress рекомендуемый тип сопоставления — utf8mb4_unicode_ci .

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

После создания базы данных вы можете изменить различные ее аспекты, например, имя базы данных, схему, пользователей и таблицы.

Задайте имя базы данных и тип сопоставления для создания базы данных.
Задайте имя базы данных и тип сопоставления для создания базы данных.

Вы создали новую базу данных MySQL. На следующей странице будут показаны дополнительные параметры для заполнения ее таблицами, столбцами и т. д.

Найдите новую базу данных, указанную в раскрывающемся меню и заголовке.
Найдите новую базу данных, указанную в раскрывающемся меню и заголовке.

Изменить имя базы данных и тип сопоставления

Щелкнув ссылку Изменить базу данных , вы сможете изменить ее имя и тип сопоставления. Если вы только что создали базу данных и допустили опечатку, это будет очень кстати.

Легко редактируйте базы данных с помощью опции администратора «Изменить базу данных».
Легко редактируйте базы данных с помощью опции администратора «Изменить базу данных».

Например, я изменил тип сопоставления базы данных с utf8_unicode_ci на utf8mb4_unicode_ci .

Изменение базы данных в Adminer
Изменение базы данных в Adminer

Примечание. Если ваша база данных уже используется каким-либо приложением, убедитесь, что сделанные здесь изменения отразятся и на коде вашего приложения.

Изучите схему базы данных

Схема базы данных относится к логической конфигурации, которая определяет, как связаны все элементы базы данных. В MySQL схема является синонимом базы данных. Значит, они относятся к одному и тому же.

Однако в других базах данных, таких как PostgreSQL и Oracle, схема относится к набору таблиц. Это только часть базы данных.

WordPress использует MySQL для своей базы данных. Следовательно, его схема — это, по сути, его таблицы со своими столбцами. Администратор даже позволяет вам перемещать поля схемы и играть с ними по своему усмотрению.

Изучение схемы базы данных WordPress в Adminer
Изучение схемы базы данных WordPress в Adminer

Это отличный способ изучить все тонкости типичной структуры базы данных WordPress.

Проверка данных и структуры таблиц

Нажав на любую таблицу, вы увидите более подробную информацию о ней. По умолчанию администратор направит вас на вкладку Показать структуру таблицы. Здесь вы найдете информацию о столбцах таблицы, такую ​​как их имена, типы и индексы.

Нажав на таблицу, вы увидите ее «Структуру».
Нажав на таблицу, вы увидите ее «Структуру».

Если в вашей таблице базы данных есть какие-либо внешние ключи или триггеры, связанные с ней, они также будут перечислены здесь в самых нижних разделах.

В приведенном выше примере показаны подробности о таблице wp_options. Именно здесь WordPress хранит все свои важные настройки. Затем вы можете перейти на вкладку « Выбрать данные », чтобы увидеть все значения, хранящиеся в этой таблице.

Просмотрите все данные таблицы, перечисленные по столбцам
Просмотрите все данные таблицы, перечисленные по столбцам

Как видите, пользовательский интерфейс здесь намного приятнее для глаз, чем в phpMyAdmin.

Изменить настройки таблицы и столбца

Нажмите ссылку «Изменить таблицу » вверху, чтобы изменить настройки таблицы и столбца.

Легко изменяйте таблицы и столбцы базы данных через администратора
Легко изменяйте таблицы и столбцы базы данных через администратора

Для таблицы вы можете изменить ее имя, механизм и тип сопоставления. Внизу вы также можете найти параметры для установки значения таблицы по умолчанию для запуска автоинкрементов и можете ли вы установить для ее столбцов значение по умолчанию и комментарии.

Что касается столбцов, вы можете изменить их имена, тип, длину и тип сопоставления.

Вы также можете добавлять или удалять столбцы, нажимая кнопки + и x . Кнопка Drop полностью удалит таблицу базы данных, поэтому используйте ее с осторожностью.

После внесения изменений не забудьте нажать кнопку « Сохранить ».

Вставка новых записей и обновление существующих

Нажмите ссылку « Новый элемент », чтобы перейти на вкладку « Вставка: <table_name> ».

Вставка новой записи в столбцы таблицы базы данных
Вставка новой записи в столбцы таблицы базы данных

Здесь вы можете добавить новую строку в свою таблицу. Администратор перечисляет имена столбцов и их типы, чтобы вы могли быстро их ввести. Вы также можете запустить хеш-функцию для введенного вами значения, чтобы зашифровать их автоматически. Это очень полезно, если данные конфиденциальны, например пароль. Например, WordPress хранит свои пароли в базе данных, используя алгоритм MD5.

Редактировать существующую запись так же просто. Например, если вы хотите изменить описание своего сайта, вы можете отредактировать значение параметра blogdescription в таблице wp_options .

Редактирование существующей записи базы данных через администратора
Редактирование существующей записи базы данных в Adminer

Затем введите новое описание блога в поле option_value и нажмите кнопку « Сохранить », чтобы изменения вступили в силу.

Изменение описания сайта WordPress через администратора
Изменение описания сайта WordPress через администратора

Поиск данных во всех таблицах

Администратор позволяет искать любые данные сразу во всех таблицах базы данных. Он покажет вам таблицы, которые, скорее всего, содержат это значение.

Поиск термина в базе данных в Adminer
Поиск термина в базе данных в Adminer

Когда я искал термин home , Adminer вытащил таблицу wp_options как наиболее вероятного кандидата. Щелкнув по нему, я увидел точный столбец и строки, в которых администратор нашел его в базе данных.

Нажав на таблицу, указанную под результатом поиска, вы увидите более подробную информацию о ней. Отсюда вы можете выполнить более детальный поиск в этой таблице.

Глубокий поиск в предложенной таблице
Глубокий поиск в предложенной таблице

Например, я могу отредактировать значение имени параметра домашней страницы и изменить URL-адрес домашней страницы моего сайта.

Усекать, удалять, перемещать и копировать таблицы

Администратор позволяет выполнять многие операции с таблицами прямо из панели управления базой данных.

Легко выполнять операции SQL над таблицами
Легко выполнять операции SQL над таблицами

Вы можете выполнять множество SQL-запросов к таблицам, выбирая их и нажимая кнопки ниже.

Например, если вы хотите удалить все комментарии на своем сайте, вы можете выбрать таблицу wp_comments и нажать кнопку « Усечь ». Он очистит все строки в таблице, но сохранит существующую структуру столбцов. Нажатие кнопки Drop полностью удалит таблицу.

Отсюда вы также можете переместить или скопировать таблицу в другую базу данных. С опцией « Перезаписать » это быстрый и грязный способ переноса данных сайта, таких как сообщения и комментарии, с одного сайта на другой.

Создание таблиц, представлений, подпрограмм и событий

Вы можете использовать Adminer для создания новых таблиц, представлений, подпрограмм и событий.

Создать новую таблицу просто с помощью администратора
Создать новую таблицу просто с помощью администратора

Функция « Создать таблицу » позволяет определить полную схему таблицы, включая ее столбцы и вложенные значения.

Опытные пользователи могут использовать другие расширенные функции администратора для определения представлений, процедур, функций и событий MySQL.

Легко создавайте многие другие функции SQL с помощью администратора
Легко создавайте многие другие функции SQL с помощью администратора

Импорт или экспорт базы данных

Администратор позволяет легко импортировать базу данных MySQL. Все, что вам нужно сделать, это загрузить резервную копию .sql или . sql.gz (рекомендуется) и запустите его. Этот метод является простым способом восстановления базы данных MySQL.

Импорт базы данных MySQL в Adminer
Импорт базы данных MySQL в Adminer

Точно так же резервное копирование существующей базы данных также очень просто с помощью администратора. Щелкните ссылку Экспорт , а затем выберите параметры экспорта, такие как тип вывода, формат и другие параметры базы данных. Вы также можете выбрать таблицы, которые хотите экспортировать.

Экспорт базы данных в Adminer
Экспорт базы данных в Adminer

По умолчанию администратор поддерживает экспорт базы данных с выходными данными Open , Save или GZIP , с SQL , CSV , CSV; , или TSV форматы. Однако вы можете легко расширить эту функциональность с помощью плагинов администратора. Я расскажу о них позже в этой статье.

Выполнение SQL-запросов

Вам не нужно иметь дело с неуклюжим пользовательским интерфейсом администратора для выполнения SQL-запроса. Просто зайдите на экран команд SQL и выполните любой запрос, который хотите.

Запуск SQL-запросов в команде администратора SQL
Запуск SQL-запросов в команде администратора SQL

Обратите внимание на подсветку синтаксиса. Администратор даже связывает выделенные ключевые слова SQL с их официальной документацией.

Перед выполнением запроса вы можете ограничить его строки, настроить его так, чтобы он прекращал выполнение при обнаружении ошибки и отображал вывод только для ошибок.

Отображение и создание привилегий (пользователей)

Вы можете использовать Adminer для создания новых пользователей с настраиваемыми привилегиями для вашей базы данных. В большинстве случаев в этом нет необходимости, но если вы хотите создать нового пользователя, у вас есть возможность сделать это быстро.

Ссылка меню «Привилегии» в Adminer
Ссылка меню «Привилегии» в Adminer
Создание пользователя базы данных в Adminer
Создание пользователя базы данных в Adminer

Широкие возможности настройки

Вы можете расширить или перезаписать функции администратора по умолчанию своим собственным кодом, используя его класс администратора по умолчанию. Для этого вам нужно определить функцию adminer_object , которая возвращает пользовательские значения для класса Adminer.

Хотите использовать Adminer прямо сейчас? DevKinsta использует Adminer в своем бесплатном наборе локальных инструментов разработки. С DevKinsta вы можете создавать, тестировать и развертывать сайты WordPress за считанные минуты. Попробуйте DevKinsta прямо сейчас!

Например, если вы хотите настроить имя, отображаемое в заголовке и заголовке страницы, вы можете сделать это с помощью этого кода:

 <?php function adminer_object() { class AdminerExtender extends Adminer {function name() { // your custom name for title & heading return 'Adminer for Kinsta'; } } return new AdminerExtender; } include './adminer-4.7.8.php';

Теперь вы можете увидеть пользовательское имя, которое мы установили («Администратор для Kinsta») в разделе заголовка.

Настройка заголовка администратора с его API расширений
Настройка заголовка администратора с его API расширений

Есть еще много интересных вещей, которые вы можете делать с расширениями администратора. Вы можете узнать больше о расширениях администратора на их справочной странице API.

Плагины администратора

Плагины администратора — это готовые к использованию расширения, которые можно использовать для простого расширения функций администратора по умолчанию.

Например, если вы хотите экспортировать базу данных в формате XML, вы можете установить плагин Adminer dump-xml. Аналогичным образом, если вы хотите экспортировать базу данных в виде сжатого ZIP-файла, вы можете подключить расширение dump-zip.

Расширение параметров вывода администратора по умолчанию с помощью плагинов
Расширение параметров вывода администратора по умолчанию с помощью плагинов

На официальном сайте перечислены некоторые из самых популярных плагинов администратора. Там же вы найдете информацию о том, как настроить и использовать плагины администратора.

Темы администратора

Одной из самых крутых функций Adminer является возможность создания тем. На официальном сайте перечислены некоторые готовые дизайны, которые вы можете использовать прямо сейчас.

Подключите тему администратора, чтобы изменить ее внешний вид
Подключите тему администратора, чтобы изменить ее внешний вид

Чтобы использовать тему администратора, вам нужно поместить файл темы adminer.css в тот же каталог, где находится adminer.php .

Это так просто.

Полностью переделайте Adminer со своими темами
Полностью переделайте Adminer со своими темами

В приведенном выше примере представлена ​​тема Hydra, указанная на веб-сайте администратора. Это темная тема на основе Material Design для администратора.

Еще одна тема администратора (mvt) в действии
Еще одна тема администратора (mvt) в действии

Некоторыми другими хорошими примерами тем для администратора являются дизайн в стиле Adminer Bootstrap и тема администратора от pematon. Используя любую из вышеперечисленных тем в качестве шаблона, вы можете настроить их по своему вкусу, изменив файл CSS.

Администратор против phpMyAdmin

Теперь, когда мы изучили многие функции Adminer, пришло время посмотреть, как Adminer сравнивается с phpMyAdmin, лидером отрасли. Вот краткий обзор того, как они складываются на разных фронтах:

Администратор против phpMyAdmin: сравнение возможностей

phpMyAdmin поддерживает только базы данных MySQL, в то время как Adminer поддерживает многие другие базы данных. Adminer также доступен только для MySQL.

Редактирование и создание таблиц в phpMyAdmin — рутинная работа по сравнению с Adminer. Выбор данных в пакетном режиме и их одновременное редактирование удобно для администратора. В этой области вам не хватает phpMyAdmin.

Вы также можете посмотреть Adminer Editor, вариант Adminer, ориентированный на редактирование базы данных. Он работает одновременно только с одной базой данных, и вам нужно подключить его к другой базе данных, чтобы он заработал.

Есть некоторые области, в которых phpMyAdmin превосходит другие. Например, он поддерживает гораздо больше языков и форматов экспорта, чем Adminer. Его большая пользовательская база гарантирует наличие процветающего сообщества, которое готово помочь вам, если вы столкнетесь с какой-либо проблемой.

Администратор против phpMyAdmin: безопасность

По словам команды Adminer, « Безопасность является приоритетом номер один при разработке Adminer. Например, Adminer блокирует доступ к базам данных без установки пароля в бэкенде. Он также ограничивает количество попыток подключения для защиты от атак грубой силы или SQL-инъекций.

Plug-and-play дизайн администратора также означает, что вы можете быстро удалить его со своего сервера, когда он больше не нужен. Если вы хотите использовать его снова в будущем, вы можете быстро загрузить его обратно. Вы не можете сделать то же самое с phpMyAdmin.

Используя подключаемый модуль login-ssl администратора, вы можете подключиться к серверу базы данных MySQL с помощью SSL. Панель администратора также подскажет вам, доступна ли новая версия, поэтому вы можете быть уверены, что всегда используете последнюю версию.

Администратор против phpMyAdmin: производительность

Согласно независимому тесту Юрая Хайдуха, Adminer в среднем на 28% быстрее, чем phpMyAdmin. Хотя они опубликовали эти результаты еще в 2009 году, когда Adminer был еще в зачаточном состоянии, это единственный доступный независимый тест производительности (пока).

Поскольку Adminer состоит всего из одного облегченного файла, вы можете развернуть его даже на сервере с самыми ограниченными ресурсами.

Администратор против phpMyAdmin: взаимодействие с пользователем

Использование Adminer очень просто с самого начала, в отличие от phpMyAdmin. Вам не нужно баловаться с какой-либо конфигурацией или настройками. Это просто работает.

Администратор также предоставляет улучшенный и удобный пользовательский интерфейс. Настройка таблиц, столбцов и их значений с помощью Adminer невероятно проста. Так же как и импорт базы данных или создание резервных копий.

Кроме того, плагины и темы администратора позволяют настраивать его функции и интерфейс в соответствии с вашими требованиями. Это делает Adminer явным победителем с точки зрения взаимодействия с пользователем.

Администратор против phpMyAdmin: размер файла

Adminer — это компактный инструмент управления базами данных. Он как минимум в 28 раз меньше, чем phpMyAdmin, хотя поддерживает больше типов баз данных, чем phpMyAdmin.

Последняя полнофункциональная версия Adminer (v4.7.8) занимает всего лишь 478 КБ , а последняя версия phpMyAdmin (v5.0.4) — 13,7 МБ (плюс, это сжатый файл для загрузки). Разница в размере файла становится еще более заметной, если принять во внимание версию Adminer, предназначенную только для MySQL ( 354 КБ ).

Как использовать администратора с WordPress

Нет особого способа использовать Adminer с WordPress. Он работает одинаково со всеми базами данных MySQL. Загрузите его PHP-файл, разместите его в любом месте на своем сервере и получите доступ к нему из браузера. После входа в Adminer вы можете исследовать с его помощью базу данных вашего сайта WordPress.

Я рекомендую вам удалить файл администратора с вашего сервера, как только вы закончите его использовать. Если оставить его без присмотра на вашем сервере в течение длительного периода времени, ваша база данных может стать уязвимой.

Был плагин WordPress под названием ari-adminer, который позволял вам получать доступ к Adminer прямо с панели управления WordPress. Однако он был закрыт и больше не доступен для загрузки уже почти два года из-за критической проблемы с безопасностью.

Следующим лучшим способом использования Adminer с WordPress является DevKinsta.

DevKinsta и администратор: простое управление базой данных WordPress

DevKinsta, бесплатный набор инструментов локальной разработки Kinsta, использует Adminer в фоновом режиме для управления своим менеджером баз данных.

Доступ к менеджеру баз данных DevKinsta
Доступ к менеджеру баз данных DevKinsta

Нажмите кнопку « Диспетчер баз данных» на панели инструментов DevKinsta, чтобы получить доступ к администратору.

Менеджер базы данных DevKinsta стал симпатичнее администратора
Менеджер баз данных DevKinsta стал симпатичнее администратора

Менеджер баз данных DevKinsta поддерживает все функции администратора, описанные ранее в этом посте. Вы можете использовать его для переключения между различными базами данных, просмотра и редактирования таблиц, управления значениями базы данных, импорта и экспорта баз данных, выполнения SQL-запросов и многого другого.

Если вы настраиваете несколько сайтов локально с помощью DevKinsta, вы можете переключаться между их базами данных с панели администратора. Просто выберите базу данных, которую хотите использовать, в раскрывающемся меню в верхнем левом углу.

Вы можете посетить документацию DevKinsta для получения дополнительной информации о его диспетчере баз данных.

Познакомьтесь с Adminer, инструментом управления базами данных, который сделает вашу жизнь намного проще ️ Нажмите, чтобы твитнуть

Резюме

Adminer — одна из лучших альтернатив phpMyAdmin. Он не только имеет более легкий след, но и намного быстрее работает с ним. Он находится в стадии медленного, но постоянного развития. В последней версии Adminer добавлена ​​поддержка сред PHP 8, что делает ее перспективной.

Если вы хотите поэкспериментировать с Adminer, вы можете почти мгновенно создать локальный сайт WordPress с помощью DevKinsta и начать изучать его базу данных с помощью Adminer.

Теперь ваша очередь: каков ваш опыт работы с Adminer? У вас есть вопросы об управлении базами данных с помощью Adminer или DevKinsta? Если это так, поделитесь ими в разделе комментариев.