PhpMyAdmin весьма удобная штука, но иногда возникает задача, скажем, быстро экспортировать таблицу БД или сделать бэкап. На разворачивание PhpMyAdmin уйдёт время. В качестве альтернативы можно использовать Adminer.
Основные фишки этого инструмента администрирования БД:
- Бесплатная веб-морда с открытым исходным кодом, предельно напоминающая по интерфейсу phpMyAdmin в виде одного *.php файла
- Поддержка MySQL, PostgreSQL, SQLite, MS SQL, Oracle, SimpleDB, Elasticsearch, MongoDB
- Базовые функции: выбор базы данных, выбор и редактирование её таблиц, просмотр и редактирование их содержимого
- Поиск и сортировка по содержимому нескольких колонок таблицы
- Редактирование таких объектов, как: представления, триггеры, события, хранимые процедуры, процессы, переменные mysql, права доступа пользователей
- Текстовое поле для ввода произвольных SQL выражений с поддержкой истории команд
- Подсветка SQL-синтаксиса
- Экспорт баз данных и их таблиц
- Удобный пользовательский интерфейс (активно использующий JavaScript)
- Переключаемый язык интерфейса (английский, русский, чешский, словацкий, немецкий, испанский, датский, французский, итальянский, эстонский, венгерский, китайский, японский, тамилский, всего включено 28 языков интерфейса)
- Визуальный редактор E-R схем БД
- Защита от взлома через XSS, CSRF, SQL инъекции, похищение сессий…
- Вывод валидных XHTML 1.1 страниц в кодировке UTF-8
- Поддержка тем оформления
С установкой проблем возникнуть не должно — просто скачиваете исходник, заливаете на сайт и открываете adminer.php
Единственная трудность, с которой я столкнулся — если БД не имеет пароля (обычно на локали такое часто встречается), то админер в свежеей версии не пускает в интерфейс просмотра. Это связано с их политикой безопасности.
Собственно решение описано здесь.
Если лень читать, делаем так:
- Создаём директорию adminer в корне сайта и заливаем туда сам скрипт админера (он должен называться
adminer.php
) - Создаём индексный файл (
index.php
), содержимое которого должно быть следующим:
<? function adminer_object() { class AdminerSoftware extends Adminer { function name() { // custom name in title and heading return 'Software'; } function login($login, $password) { // validate user submitted credentials return ($login == 'root' && $password == ''); } } return new AdminerSoftware; } include "./adminer.php"; ?>
На выходе должны получить:
В скрипте соответственно root
— логин, а пасс — пустая строка.
В админер заходим по ссылке {адрес сайта}/adminer