Установка и использование PHPMyAdmin для веб-разработки...

Code Databases

PHPMyAdmin (PMA) - отличный бесплатный веб-клиент с открытым исходным кодом, который может использоваться для более простого взаимодействия с MySQL и базами данных приложений. Я опишу, как установить его, защитить его и некоторые распространенные сценарии, с помощью которых он может помочь вам в администрировании базы данных. Вот онлайн-демо PMA для вас.

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

Установка PHPMyAdmin

Начало работы с PMA довольно простое в Linux. Я опишу, как это сделать с Ubuntu 14.x в Digital Ocean. Войдите на свой сервер через SSH.

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

Как только вы ограничите доступ MySQL только к localhost (что вам нужно), в MySQL не будет портов для удаленного доступа для хакера, чтобы попытаться получить доступ. Они могут попытаться проникнуть через SSH или попробовать атаки SQL-инъекций на ваши приложения, но они не могут напрямую атаковать базу данных. После установки PMA кто угодно может запускать сетевые атаки против него, чтобы получить контроль над вашей базой данных, поэтому требуется тщательная проверка.

При настройке PMA рекомендуется несколько предосторожностей.

1. Используйте очень надежные пароли для всех ваших учетных записей MySQL, особенно для учетной записи root. например 25 символов для пароля root.

2. Используйте разные учетные записи и привилегии MySQL для каждого приложения/сайта, работающих на одном сервере. Таким образом, если один пароль взломан, база данных только одного сайта скомпрометирована.

3. Измените URL-адрес по умолчанию, используемый PMA. Таким образом, люди не могут посетить http://yourblog.com/phpmyadmin. Хотя эта мера безопасности из-за неизвестности не является очень эффективным методом, она добавляет некоторую защиту.

Добавьте псевдоним в файл apache.conf:

Перезапустите apache:

Затем, чтобы получить доступ к PMA, посетите http://yourblog.com/myobscuredpma

Если вам нужно изменить свой пароль PHPMyAdmin, вы можете отредактировать config-db.php здесь:

nano /etc/phpmyadmin/config-db.php

4. Настройте веб-аутентификацию для сайта PMA. Это потребует ввода дополнительного пароля для доступа к PMA, в дополнение к вашему паролю базы данных, например:

Установка и использование PHPMyAdmin для веб-разработки...

Чтобы настроить ограничения пользователя Apache, выполните следующие действия:

Установите htpasswd как часть apache2-utils:

Создайте каталог для хранения ваших паролей:

Добавить поддержку htaccess для PMA:

nano /etc/phpmyadmin/apache.conf

Add AllowOverride All ниже

Настройте аутентификацию пользователя для PMA:

nano /usr/share/phpmyadmin/.htaccess

Установить свой пароль:

htpasswd -c /etc/htpasswd/.htpasswd username

И перезапустите Apache:

service apache2 restart

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

Использование PHPMyAdmin во время веб-разработки

1. Создание и удаление баз данных

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

Без PMA я бы выполнил вход на мой сервер через SSH. Войдите в MySQL, а затем запустите:

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

Установка и использование PHPMyAdmin для веб-разработки...

Или вы можете напрямую использовать визуальный интерфейс:

Установка и использование PHPMyAdmin для веб-разработки...

Вы также можете добавить пользователей и определить привилегии таким образом. Перейдите на вкладку привилегий:

Установка и использование PHPMyAdmin для веб-разработки...

Нажмите Add User и определите желаемые привилегии для базы данных:

Установка и использование PHPMyAdmin для веб-разработки...

Для вашей обычной учетной записи базы данных вы можете установить флажки в квадратах Data и Structure.

Чтобы удалить базу данных, перейдите в меню Databases. Щелкните базу данных, которую вы хотите сбросить, и нажмите Drop:

Установка и использование PHPMyAdmin для веб-разработки...

2. Резервное копирование базы данных

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

Используя веб-интерфейс PMA, нажмите на свою базу данных, откройте вкладку Export и выберите Custom.

Установка и использование PHPMyAdmin для веб-разработки...

Включите "Add Drop Table / View / Procedure / Function / Event" statement":

Установка и использование PHPMyAdmin для веб-разработки...

Когда вы нажмете Go, PMA загрузит резервную копию всей вашей базы данных. Если у вас параметры таймаута PHP Apache неправильно настроены, некоторые продолжительные загрузки файлов могут превышать таймаут и завершаться неудачей. Вы можете настроить это в PHP.ini, как я описываю на своем сайте.

3. Тестирование запросов

PMA фантастически удобен для тестирования ваших SQL-запросов во время разработки. Когда я создал Geogram (см. также мой предстоящий урок MapApp on Tuts+), мне нужно было изучить и протестировать ряд сложных запросов геолокации, например, найти ближайший район к моему адресу. PMA сделал это намного проще.

Выберите свою базу данных, нажмите Query. Вставьте или отредактируйте сложные запросы и протестируйте их непосредственно из PMA:

Установка и использование PHPMyAdmin для веб-разработки...

Когда я отработал свои запросы, мне было легче написать программный код ActiveRecord. Как пример:

4. Восстановление записей в базе данных

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

Например, некоторые из моих приложений для управления электронной почтой иногда зацикливаются на необычных входящих сообщениях; эти ошибки трудно найти при обычном тестировании. Когда это происходит, я нашел полезным изменять базу данных напрямую с помощью PMA, чтобы разблокировать мои задачи и снова запустить сайт. В некоторых случаях просто возможность легко просматривать таблицы может помочь вам определить, что сломано.

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

Установка и использование PHPMyAdmin для веб-разработки...

5. Сброс базы данных для миграции

Если вы используете фреймворк (например, Yii), вы можете использовать программную миграцию базы данных. Миграции баз данных упрощают разработку и обновление ваших приложений. Тем не менее, их тестирование может нарушить работу в локальной базе данных.

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

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

Установка и использование PHPMyAdmin для веб-разработки...

Надеюсь, вы нашли урок полезным. Пожалуйста, размещайте любые комментарии, исправления или дополнительные идеи ниже. Вы можете просматривать мои другие уроки Tuts+ на моей странице автора или следовать за мной в Twitter @reifman.

Теги: Code Databases
Рейтинг 61
Просмотры 15440

Комментарии 0

Отправить

Минуточку внимания

Похожие публикации

Лучшие публикации

Создание сайтов | Готовые сайты

Интро

PHPMyAdmin (PMA) - отличный бесплатный веб-клиент с открытым исходным кодом, который может использоваться для более простого взаимодействия с MySQL и-базами данных приложений. Я опишу, как установить его, защитить его и некоторые распространенные сценарии, с помощью которых он может помочь вам в администрировании базы данных. Вот онлайн-демо PMA дл...