Сайт о телевидении

Сайт о телевидении

» » Установка и настройка phpMyAdmin: пошаговая инструкция и рекомендации. Основы работы с phpMyAdmin

Установка и настройка phpMyAdmin: пошаговая инструкция и рекомендации. Основы работы с phpMyAdmin

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

Приступать к изучению данного материала следует после прочтения поста « », там расписан очень подробно процесс установки денвера. Надеюсь, он вам будет очень полезен.

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

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

http://localhost/tools/

И в открывшемся окне находим надпись «phpmyadmin» делаем клик по данной ссылке.

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

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

В панели phpmyadmin производим следующие действия:

1) В данную область вводим название, которое использует база данных MySQL (название может быть любое). Например назовем «my-site» .

2) Здесь нам потребуется выбрать язык интерфейса в базе данных phpmyadmin. Так как я кроме русского больше никакой не знаю так хорошо предлагаю его и оставить.

3) Выбираем MySQL — кодировку. Из выпадающего списка выбираем «utf8_general_ci» , так как данная кодировка самый оптимальный вариант для создания блога или сайта.

Если не хотите, чтобы в будущем у вас возникли проблемы с сайтом при переносе на реальный хостинг (из-за неправильной кодировки можно вместо текста увидеть квадратики, палочки и вопросики). Если оно вам не надо стоит обязательно поставить «utf8_general_ci» .

4) После выполнения всех трех настроек базы данных phpmyadmin нажимаем кнопку «Создать» . Поздравляю! База данных создана.

Теперь нам нужно создать пользователя, которого использует база данных MySQL. Для этого возвращаемся в панель phpmyadmin по ссылке

1 http:// localhost/ tools/ phpmyadmin/

http://localhost/tools/phpmyadmin/

В строке «Имя пользователя» вводим желаемое имя. Я выбрал «admin», чтобы сильно не заморачиваться. В строке «Хост» вводим наш локальный сервер «localhost». В строке «Пароль» нам надо придумать пароль и подтвердить его еще раз.

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

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

.
3. Теперь Вы должны создать конфигурационный файл (config.inc.php). Создание конфигурационного файла - необходимое условие прежде всего для запуска phpMyAdmin, а также необходимо для задания некоторых возможностей. Эта задача может быть выполнена двумя разными способами. Традиционно, пользователи могут вручную отредактировать копию файла config.inc.php. Кроме этого, пользователи, предпочитающие графическую инсталляцию, могут воспользоваться мастером установки (скриптом инсталляции).

  • Для того, чтобы вручную создать конфигурационный файл, достаточно простейшего текстового редактора, с помощью которого нужно создать файл config.inc.php. Для упрощения задачи, Вы можете скопировать в текстовый редактор содержимое файла config.sample.inc.php - образца рабочей конфигурации, содержащей минимальное количество конфигурационных переменных.

    Созданный файл необходимо поместить в главную директорию phpMyAdmin (ту, которая содержит index.php). phpMyAdmin сперва загружает libraries/config.default.php, а затем подменяет значения прописанных в нем переменных теми, что находит в config.inc.php. Если значение по умолчанию (тех переменных, что определены в libraries/config.default.php) Вас устраивает, тогда нет необходимости включать его в config.inc.php. Для запуска phpMyAdmin вам понадобятся как минимум несколько директив, простейшая конфигурация может выглядеть так:

    $cfg["blowfish_secret"] = "ba17c1ec07d65003"; // use here a value of your choice
    $i=0;
    $i++;
    $cfg["Servers"][$i]["auth_type"] = "cookie";
    ?>

    Или, если вы не хотите вводить каждый раз логин/пароль (данная конфигурация не рекомендуется из соображений безопасности), конфигурационный файл может выглядеть так:
  • Вместо ручного редактирования файла config.inc.php, Вы можете использовать скрипт установки. Прежде всего, вам необходимо вручную создать в главной директории phpMyAdmin папку "config". Это - мера безопасности. При работе под ОС Linux/Unix Вы можете использовать следующие команды:

    Для редактирования уже существующего конфигурационного файла, можно воспользоваться следующими командами:

    На других платформах, просто создайте директорию и убедитесь, что Ваш веб-сервер имеет права на чтение и запись в неё. FAQ 1.26 может помочь в этом случае.

    Затем, откройте в браузере scripts/setup.php. Помните, что изменения не будут сохранены на диск до тех пор, пока не будет нажата кнопка "Save" в блоке "Configuration". Если все хорошо, то скрипт сохранит новый config.inc.php в директорию config/, но если веб-сервер не имеет необходимых прав, Вы можете увидеть сообщение об ошибке "Cannot load or save configuration". В таком случае, убедитесь, что директория config/ создана и имеет необходимые права, либо воспользуйтесь ссылкой "Download" для сохранения конфигурационного файла на локальный диск и последующей закачки (например, через FTP) на сервер.

    Как только файл был сохранен, необходимо переместить его из директории config/ в главную директорию phpMyAdmin и в целях безопасности сбросить права на него:

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

4. Если Вы собираетесь использовать "config" аутентификацию (auth_type), необходимо защитить директорию в которую был установлен phpMyAdmin от несанкционированного доступа, потому что данный режим позволяет любому пользователю получить доступ к phpMyAdmin без предварительного ввода логина/пароля. Рекомендуются альтернативные методы аутентификации, например, HTTP-AUTH (с помощью.htaccess файла), либо использованием одного из двух других методов аутентификации: cookie или http. См. подраздел FAQ "Мультипользовательская установка" для дополнительной информации, особенно обратите внимание на FAQ 4.4 .
5. Откройте главную директорию phpMyAdmin в вашем браузере. Должно появиться окно приветствия phpMyAdmin и Ваши базы данных, или окно ввода логина, в случае использования режима HTTP- или cookie-аутентификации. 6. Вы должны запретить доступ к субдиректории./libraries средствами вашего веб-сервера. В случае использования веб-сервера Apache для защиты директории Вы можете использовать файл.htaccess. При использовании других веб-серверов вы должны запретить доступ к директории./libraries самостоятельно. Подобная конфигурирование - превентивная мера на случай обнаружения уязвимостей: возможного раскрытия пути (path exposure) и межсайтового выполнения сценариев (Cross-site Scripting, XSS).

Linked-tables infrastructure (Инфраструктура связанных таблиц)

Для использования многих опций (закладок, комментариев, SQL-истории, PDF-схем, преобразования содержимого полей, и т.д.) необходимо создать набор специальных таблиц. Эти таблицы могут находиться как в Вашей базе данных, так и в центральной базе при многопользовательской системе (в этом случае данная БД может быть доступна только для пользователя controluser, соответственно, другие пользователи не имеют прав на неё).

Зайдите в директорию scripts/ , здесь вы найдете файл create_tables.sql . (Если используете Windows сервер, обратите особое внимание на FAQ 1.24).

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

Если у вас уже есть готовая инфраструктура и вы обновляете MySQL до версии 4.1.2 или выше, используйте upgrade_tables_mysql_4_1_2+.sql .

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

После импорта create_tables.sql , Вы должны определить названия таблиц в файле config.inc.php , с помощью директив, описанных в разделе "Конфигурирование" . Кроме этого необходимо обладать правами controluser на данные таблицы (см. ниже, раздел "Использование режима аутентификации").

Обновление старой версии

Просто скопируйте конфигурационный файл ./config.inc.php от предыдущей версии в директорию куда был распакован phpMyAdmin. Конфигурационные файлы из очень старых версий (2.3.0 or older) могут потребовать некоторых настроек, т.к. некоторые опции были изменены или удалены.

Если Вы обновили свой MySQL-сервер с версии старше, чем 4.1.2 до версии 4.1.2 или новее,и используете инфраструктуру связанных таблиц, тогда необходимо запустить SQL-скрипт, который находится в scripts/upgrade_tables_mysql_4_1_2+.sql.

Использование режимов аутентификации

При использовании "HTTP" и "cookie" режимов phpMyAdmin, рекомендуется завести пользователя (controluser), который должен обладать правами только на выборку (SELECT) из следующих таблиц: mysql.user (все столбцы за исключением "Password"), mysql.db (все столбцы), mysql.host (все столбцы) и mysql.tables_priv (все столбцы за исключением "Grantor" и "Timestamp").

GRANT USAGE ON mysql.* TO "pma"@"localhost" IDENTIFIED BY "pmapass";
GRANT SELECT (
Host, User, Select_priv, Insert_priv, Update_priv, Delete_priv,
Create_priv, Drop_priv, Reload_priv, Shutdown_priv, Process_priv,
File_priv, Grant_priv, References_priv, Index_priv, Alter_priv,
Show_db_priv, Super_priv, Create_tmp_table_priv, Lock_tables_priv,
Execute_priv, Repl_slave_priv, Repl_client_priv
) ON mysql.user TO "pma"@"localhost";
GRANT SELECT ON mysql.db TO "pma"@"localhost";
GRANT SELECT ON mysql.host TO "pma"@"localhost";
GRANT SELECT (Host, Db, User, Table_name, Table_priv, Column_priv)
ON mysql.tables_priv TO "pma"@"localhost";

Необходимо установить настройки для controluser в файле config.inc.php в следующих секциях: $cfg["Servers"][$i]["controluser"] и $cfg["Servers"][$i]["controlpass"] .

В нижеприведенном примере, в обучающих целях используются следующие значения для: "controluser" - "pma", "pmapass" - "controlpass". Но на практике используйте другие значения в своих файлах!

Разумеется, localhost в случае необходимости нужно заменить на реальное имя веб-сервера.

Если вы используете старую версию MySQL (ниже 4.0.2), замените первый запрос GRANT SELECT следующим образом:

GRANT SELECT (Host, User, Select_priv, Insert_priv, Update_priv, Delete_priv, Create_priv, Drop_priv, Reload_priv, Shutdown_priv, Process_priv, File_priv, Grant_priv, References_priv, Index_priv, Alter_priv) ON mysql.user TO "pma"@"localhost";

И если Вы хотите использовать возможности закладок и связей:

GRANT SELECT, INSERT, UPDATE, DELETE ON .* TO "pma"@"localhost";

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

  • Разумеется, пользователь должен разрешить браузеру использовать куки. Теперь это необходимое требование для всех методов аутентификации
  • В этом режиме, после прохождения первичной идентификации phpMyAdmin создает на компьютере пользователя cookie-файл, содержащий логин и пароль пользователя, который будет автоматически подставляться при следующих сеансах.
  • При использовании данного режима пользователь может завершить сеанс phpMyAdmin и авторизоваться под другим именем.
  • Если вы собираетесь проходить процедуру идентификации на произвольном сервере обратите внимание на директиву $cfg["AllowArbitraryServer"] .
  • Как указано в секции "Технические требования" , наличие PHP библиотеки mcrypt на сервере способно ускорить фазу авторизации, но наличие её не обязательно.
  • "config" - аутентификация

    – Это скрипт, который написан на языке PHP и предоставляет возможность управлять базами данных MySQL. Позволяет запускать команду SQL запросов, работать с полями и таблицами базы данных (создавать, редактировать, удалять и т.д.). В PhPMyAdmin можно создавать новые базы данных, делать и многое другое. PhpMyAdmin установлен практически на каждом хостинге и входит в стандартную конфигурацию локального сервера Денвер.

    В большинстве случаев для работы с Joomla PhрMyAdmin применяется только для создания новых баз данных (чаще всего это делается на Денвере) и для копирования и восстановления (Импорт/Экспорт). Остальные же возможности PhрMyAdmin используют продвинутые Веб-мастера и разработчики.

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

    Создание базы данных (в основном это на Денвере).

    Для этого нужно набрать в адресной строке браузера этот путь:

    http://localhost/tools/phpmyadmin

    Пройдя по этой ссылке запустится phpMyAdmin. (Денвер должен быть установлен и запущен).

    Для того, чтобы создать базу данных, нужно в поле Новая база данных ввести название будущей базы и нажать кнопку создать, при этом стоит отметить, что кодировка базы данных для Joomla должна быть в UTF-8 (как на рисунке ниже).

    Если нужно создать еще и пользователя для новой базы данных, тогда нужно нажать на кнопку привилегии и на открывшейся странице нажать ссылку "Добавить нового пользователя " (Пользователь имеет определенные привилегии которые устанавливаются при его создании, за счет этих привилегий он может изменять, удалять, создавать новые таблицы и поля в базе данных). Если рhрMyАdmin находится на хостинге, тогда вход/авторизация происходит по заданному имени пользователя и паролю).

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

    Примечание . Создание пользователя возможно только на Денвере, на обычном же хостинге как правило пользователь уже создан и имеет все необходимые привилегии (имя пользователя и пароль высылается на Вашу почту), или же новый пользователь создается через отдельный интерфейс хостинг провайдера (со всеми необходимыми привилегиями), где имя пользователя и пароль Вы вводите сами и далее они используются для авторизации в phpMyAdmin (только не забудьте его куда-нибудь записать).

    Создание бэкапа БД с помощью phpMyAdmin

    Для создания резервной копии базы данных, заходим на главную страницу phpMyAdmin и в левом окошке выбираем нужную базу данных (для которой нужно сделать бэкап), кликнув на нее мышкой.

    На рисунке ниже выбрана база данных с именем auto (45) , в скобках указывается количество таблиц которые находятся в базе данных.

    После того как Вы выберите базу данных откроется новое окно с ее содержимым. Далее вам нужно нажать на кнопку «Экспорт » в верхней части окна (как показано на рисунке ниже).

    Кнопка «Экспорт - означает скопировать базу данных в текстовый файл и сохранить его на компьютере. По нажатию этой кнопки откроется новое окно с настройками параметров экспорта, все, что нужно здесь нужно сделать, так это выбрать все таблицы базы данных, установить галочку «Сохранить как файл » и нажать на кнопку ok в некоторых версиях phрMyAdmin эта кнопка называется пошел .

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

    Восстановление БД из бэкапа посредством phpMyAdmin

    Для восстановления из резервной копии БД требуется выполнять такую последовательность действий. Для начала нужно очистить имеющуюся БД от всех таблиц. Чтобы это сделать нужно войти в phpMyAdmin, выбрать в левом столбце требуемую БД, которую Вы собираетесь восстанавливать из резервной копии и в появившемся окошке нужно перейти в самый низ страницы нажать на ссылку «Отметить все » и выбрать опцию «Удалить » из выпадающего списка.

    Это приведет к открытию следующего окна с перечнем всех таблиц, для подтверждения удаления таблиц. Нужно кликнуть на «Да ». После этого уже можно восстанавливать БД из сделанной раньше резервной копии (бэкапа).
    Для этого переходим на вкладку «Импорт » и в появившемся окне нажимаем на а кнопку «Обзор » и находим ранее сделанную копию БД на своем компьютере. Далее нужно обязательно проследить, что бы кодировка стояла UTF-8 . Затем нажимаете кнопку «ОК » и ожидаете окончания загрузки резервной копии БД.

    Другие способы использования

    Вот еще несколько примеров использования PhpMyAdmin, однажды во время тестирования одного компонента каким то образом повредилась база данных, в результате чего сайт полностью перестал работать. Во время повреждения БД, если такое случается, то выводится сообщение о том, что база данных повреждена или нет соединения. Чтобы решить данный трабл нужно зайти в PhpMyAdmin, который тоже выводить соответствующее сообщение. Далее нужно отметить галочкой поврежденную таблицу базы данных и выбрать из списка опцию - «Восстановить таблицу» , после чего, Вы увидите следующее сообщение: SQL-запрос был успешно выполнен .

    Оптимизация таблиц в БД через phpMyAdmin

    Также есть довольно полезная функция оптимизации таблиц. Эта опция удаляет все уже удалённые данные которые еще хранятся в таблицах, таким образом значительно очищается таблицу от мусора и уменьшается ее размер. Чтобы выполнить оптимизацию таблиц, нужно отметить все таблицы базы данных галочками и кликнуть по ссылке из списка «Оптимизировать таблицу» . Только обязательно сделайте резервную копию базы данных, на случай если что-то пойдет не так.

    Следующим способом использования возможностей PhpMyAdmin является осуществление запросов SQL к таблицам БД. Данный момент является крайне удобным, особенно когда нужно поменять что-то однотипное сразу во всех текстах Вашего сайта. Например, если количество статей на Вашем сайте больше 100, то вручную это сделать довольно долго и трудоемко. А здесь один запрос и все готово.

    Только всегда помните и не забывайте, что перед внесением каких-либо изменений нужно всегда делать резервное копирование данных. Статьи в Joomla содержатся в таблице, которая называется «jos_content », следовательно, чтобы внести изменения во все тексты требуется кликнуть на названии этой таблицы. В окне, которое находится по центру нужно перейти на закладку «Обзор».

    На появившейся странице нужно кликнуть по «Изменить» . В новом окне нужно ввести текст запроса SQL, который внесет изменения во все статьи. Справа в окошке PhpMyAdmin выбрать можно будет лишь те поля, в которых требуется выполнять изменения.

    Из всего указанного выше получается, что для спокойного сна нужно на своем локальном ПК иметь актуальные бэкапы (резервные копии) базы данных и файлов. Эти же бэкапы (резервные копии) можно применять, когда будете переносить сайт на новый хостинг.

    Программа phpMyAdmin является одним из самых распространенных средств для администрирования, управления и каждодневной работы с базами данных MySQL. Практически на каждом хостинге, где установлена поддержка этой СУБД, в качестве панели управления предлагают phpMyAdmin. Что же собой представляет этот инструмент?

    phpMyAdmin – это набор скриптов, написанных на РНР, который предоставляет практически все необходимые функции по работе с базами данных MySQL. В дополнение к возможностям самого сервера MySQL, он предоставляет дополнительные "фичи", которые позволяют более эффективно и легко работать с данными. Причем все функции доступны прямо из браузера, даже перезагрузка удаленного сервера (если эта возможность разрешена учетной записью пользователя).

    phpMyAdmin – это набор скриптов на РНР

    Толчком к этой статье послужил выпуск новой версии программы (хотя правильнее говорить, что это набор скриптов, но дальше мы все же будем называть phpMyAdmin именно программой – он это заслужил!). Кардинально новых возможностей уже давно не появляется – ведь все необходимое уже давно реализовано. Но теперь разработчики наконец принялись за "облагораживание" своего продукта и переделали интерфейс. Раньше он было довольно унылый и полностью текстовый, потом постепенно начали добавляться пиктограммы и улучшаться внешний вид. Текущий же релиз, 2.6.0-pl3 наконец получил качественное оформление, и хотя сама структура и принципы работы остались неизменными, именно как инструмент программа стала намного более приятной, просто радует глаз.


    Эта программа как для администраторов, так и для разработчиков

    Так для кого же предназначен phpMyAdmin? Для администраторов серверов баз данных на хостинговых площадках? Да! Администраторы могут легко создавать аккаунты для пользователей, назначать им привилегии, создавать и настраивать базы данных. Причем, и пользователи, и администраторы могут использовать один и тот же скрипт – просто у пользователя, не обладающего необходимым уровнем доступа, не будет некоторых функций – например, выбора сервера БД, доступа к служебным базам и базам других пользователей и т.д. Но вся функциональность в рамках созданной для него базы полностью доступна.

    Разработчики получают полный контроль над своим сервером, над всеми базами и таблицами, возможность интерактивно исполнять SQL-запросы и даже начальные функции отладки неверных запросов. Конечно, до отладчика из пакета MySQL Query Browser phpMyAdmin еще очень далеко, но это ведь совершенно различные весовые категории.

    phpMyAdmin имеет встроенные средства для проведения текущих работ с базами и таблицами – обслуживание, проверка и починка испорченных таблиц, резервирование и восстановление из архивов, экспорт данных из таблиц, как в формате SQL, так и в более специфических, например LaTeX или PDF. Для уменьшения объема файл с данными можно сразу же на сервере сжать архиватором — это очень полезно для создания на своей машине копии из удаленной базы на сайте.


    Установка очень проста

    А теперь попробуем познакомится поближе с phpMyAdmin. Установка пакета очень проста, необходимо лишь указать данные для доступа к серверу MySQL – логин, пароль и имя хоста. После установки появится еще одна служебная база, в дополнение к базе самой СУБД – phpmyadmin. В этой базе программа хранит свои настройки и другие необходимые ей данные.

    Интерфейс программы состоит из двух вертикальных фреймов, в первом из них перечислены доступные базы (если вы администратор), или же сразу таблицы вашей текущей базы данных, если вы не имеете доступа к другим БД. Выбрав необходимую таблицу, вы можете перейти в окно просмотра ее параметров и настроек. Страница загружается в основной фрейм, так что вся информация всегда находится перед глазами в одном окне браузера.

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

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


    Очень полезны расширенные функции обработки запросов

    Очень интересная возможность – после выполнения запроса программа показывает не только детальную информацию о нем (время обработки, количество затронутых рядов), но и предлагает показать расширенную информацию о использованных данных при построении запроса (индексах и прочее, что может быть полезно при построении сложных запросов, отладке и ручной оптимизации). Еще одна функция позволяет по введенному запросу автоматически строить код на PHP. Хотя результирующий код очень прост – всего лишь переменная $sql, которая содержит код запроса, оптимизированный под синтаксис PHP, но это очень полезная функция, особенно если вы сначала отлаживаете сложный запрос через интерфейс phpMyAdmin-а, а потом, убедившись в корректной выдаче результатов, хотите перенести запрос в свой скрипт.

    Хотя большинство запросов надо прямо вводить в виде корректных SQL-выражений, но для операции поиска данных существует специальный удобный интерфейс. Для этого есть специальная вкладка "Искать", переход по которой открывает страницу, где поля для поиска представлены в виде формы, заполняя которую можно, не особо вдаваясь в тонкости синтаксиса конкретных выражений, создать довольно таки сложный запрос (имеется ввиду, запрос SELECT). Допустимые поля, варианты сравнения и сортировки результатов – все можно задать через выпадающие списки и меню, а дополнительные условия поиска можно указать в специальных текстовых полях. Хотя такой построитель выражений совсем не отменяет знания особенностей работы БД и SQL, он существенно помогает, когда надо быстро построить специфический поисковый запрос.


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

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

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

    Как веб-инструменту, phpMyAdmin нет равных

    Конечно, по отдельности все функции phpMyAdmin не уникальны. Строить запросы можно в MySQL Query Browser, там же присутствует полноценный отладчик SQL, администрировать сервер и тонко управлять производительностью можно программой MySQL Administrator – такого множества опций и настроек сервера БД не предоставляет никакая из существующих утилит. Импорт и экспорт данных, создание резервных копий баз лучше всего получается утилитам компании EMS. Но у всех этих программ есть существенный недостаток – все они предназначены для локальной установки (хоть и могут управлять удаленным сервером), функционируют под управлением ОС Windows (хотя есть отдельные версии и под Linux). phpMyAdmin позволяет сделать практически все, что необходимо обычному администратору, разработчику или пользователю – и сделать это без необходимости установки какого-либо ПО, из любой точки мира, лишь бы был Интернет.

    Напоследок замечу, что phpMyAdmin – один из немногих, если не единственный скрипт (именно скрипт, а не язык или платформа), о котором написана книга! Она так и называется «Mastering phpMyAdmin for Effective MySQL Management», а средства от продажи книги направляются на поддержку разработчиков phpMyAdmin.

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

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

    Установка phpMyAdmin

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

    apt-get install phpmyadmin

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

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

    Есть несколько мер, которые я бы посоветовал при конфигурировании PMA.

    1. Используйте очень надежные пароли для всех учетных записей MySQL, особенно для пользователя root. Например, 25 символов для пароля.
    2. Для каждого из сайтов, используйте различные учетные записи и привилегии. Таким образом, если один пароль будет украден, пострадает только одна база данных.
    3. Меняйте стандартный URL доступа к PMA. Таким образом люди не смогут достучаться до него по адресу http://yourblog.com/phpmyadmin. Хотя данная мера не очень эффективна, она всё же увеличивает безопасность.

    Добваляем алиас в файл apache.conf:

    nano /etc/phpmyadmin/apache.conf

    Alias /myobscuredpma /usr/share/phpmyadmin

    Перезагружаем apache:

    service apache2 reload

    Теперь PMA будет доступен по адресу http://yourblog.com/myobscuredpma.

    Если вам необходимо изменить пароль вашего phpMyAdmin, измените содержимое файла config-db.php:

    nano /etc/phpmyadmin/config-db.php

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

    Для настройки ограничений пользователя apache следуйте этим шагам:

    Установите htpasswd из пакета apache2-utils:

    apt-get install apache2-utils

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

    mkdir /etc/htpasswd

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

    Options FollowSymLinks DirectoryIndex index.php AllowOverride All

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

    nano /usr/share/phpmyadmin/.htaccess

    AuthType Basic AuthName "Login Required for Access" AuthUserFile /etc/htpasswd/.htpasswd Require valid-user

    Укажите пароль:

    htpasswd -c /etc/htpasswd/.htpasswd username

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

    service apache2 restart

    Теперь для доступа к PMA вам необходимо будет ввести ещё один пароль, как показано выше.

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

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

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

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

    Create database myapp; grant all privileges on myapp_database.* TO "your-mysql-username"@"localhost" identified by "your-mysql-password"; flush privileges;

    PMA позволяет нам запускать любой запрос через удобный визуальный интерфейс. Нажмите вкладку SQL и вставьте вышеуказанные SQL код. Затем кликните Go чтобы создать базу данных.

    Так же для создания базы данных можите напрямую воспользоваться визуальный интерфейсом:

    Таким же образом, вы можете добавлять пользователей и назначать привилегии. Перейдите на вкладку “Привилегии”:

    Кликните “Добавить пользователя” и назначьте желаемые привилегии для базы данных:

    Для самого обычного аккаунта будет достаточно выделить боксы в разделах “данные” и “структура”.

    Чтобы удалить базу данных откройте меню, выберите базу, нажмите “удалить”:

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

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

    Щелкните на базу данных, перейдите на вкладку “Экспорт” и выберите “Custom”.

    Выберите пункт «Add Drop Table / View / Procedure / Function / Event»:

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

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

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

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

    После шлифовки запроса, его легче применить в рамках шаблона ActiveRecord. Как тут:

    $criteria = new CDbCriteria; $criteria->together=true; $criteria->having= "distance < 100"; $criteria->order = "distance ASC"; $criteria->with = array("place_geometry"=>array("select"=>"place_id,center,".new CDbExpression("(3959 * acos(cos(radians(".$lat.")) * cos(radians(X(center))) * cos(radians(Y(center)) - radians(".$lon.")) + sin(radians(".$lat.")) * sin(radians(X(center))))) as distance"))); $dataProvider = new CActiveDataProvider(Place::model()->active()->includesMember($id), array("criteria" => $criteria, "pagination" => array("pageSize" => 10,),));

    4. Быстрое изменение данных

    Если вы разработчик, то у вас наверняка возникала ситуация что при работе с БД выскакивали ошибки из-за отсутствия или неправильного значения в какой-то из ячеек таблицы. Не так ли?

    PMA предоставляет нам отличную возможность изменения значения ячеек непосредственно из отображения таблицы. Откройте базу данных и выберите таблицу. Дважды кликните на колонке чтобы ввести значение. После окончания изменений нажмите “Enter”:

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

    Если вы используете фрэймворк (как Yii), то наверняка в вашем арсенале есть инструмент миграции. Миграции облегчает поэтапное изменение БД в процессе разработки. Однако при тестирование могут возникнуть проблемы.

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

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

    Надеемся, что данная статья была для вас полезной.