Настройка phpMyAdmin и MySQL на локальном хостинге Денвер. Руководство

phpMyAdmin - это LAMP приложение, созданное специально для администрирования MySQL серверов. Написанный на PHP и доступный через web обозреватель, phpMyAdmin предоставляет графический интерфейс для задач администрирования баз данных.

Установка

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

Sudo apt-get install phpmyadmin

По запросу выберите какой web сервер будет настроен для phpMyAdmin. В этом разделе предполагается использование в качестве web сервера Apache2 .

Sudo ln -s /etc/phpmyadmin/apache.conf /etc/apache2/conf-available/phpmyadmin.conf sudo a2enconf phpmyadmin sudo /etc/init.d/apache2 reload

В обозревателе перейдите по адресу http://localhost /phpmyadmin . На странице входа введите root в качестве имени пользователя, или другого пользователя, если вы его настраивали, а также пароль этого пользователя MySQL.

Если на предыдущем шаге, когда заходите по адресу http://localhost /phpmyadmin , сервер выдает ошибку 404 - Not found, проверьте расположение файла phpmyadmin.conf . В случае ubuntu 12.04: если файл отсутствует по адресу /etc/apache2/conf.d/phpmyadmin.conf и при этом существует по адресу /etc/phpmyadmin/apache.conf , то переместите файл и перезапустите сервер: sudo ln -s /etc/phpmyadmin/apache.conf /etc/apache2/conf.d/phpmyadmin.conf sudo /etc/init.d/apache2 restart

После этого попробуйте снова войти через браузер.

Настройка

Файлы настройки phpMyAdmin находятся в /etc/phpmyadmin. Основной файл настроек - это /etc/phpmyadmin/config.inc.php. Этот файл содержит опции настройки, которые применяются к phpMyAdmin глобально.

Чтобы использовать phpMyAdmin для управления MySQL на другом сервере, настройте следующую запись в /etc/phpmyadmin/config.inc.php:

$cfg["Servers"][$i]["host"] = "db_server";

Замените db_server на актуальный IP адрес удаленного сервера базы данных. Также убедитесь, что компьютер с phpMyAdmin имеет права доступа к удаленной базе.

После настройки выйдите из phpMyAdmin и зайдите снова и вы получите доступ к новому серверу.

Файлы config.header.inc.php и config.footer.inc.php используются для добавления HTML верхнего и нижнего заголовков для phpMyAdmin.

Последнее обновление: 22.12.2017

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

Чтобы упростить себе работу с базами данных MySQL установим специальный набор скриптов phpMyAdmin . phpMyAdmin представляет интуитивный веб-интерфейс для управления базами данных MySQL. Используя данный инструмент, гораздо легче работать с базами данных, чем управлять MySQL через консоль.

Для установки phpMyAdmin загрузим архив и распакуем в папку C:\localhost , где находятся документы для php. Распакованную папку переименуем для краткости в phpMyAdmin .

В распакованном каталоге phpMyAdmin создадим файл config.inc.php со следующим содержанием:

И чтобы убедиться, что все настроено правильно, в браузере перейдем к phpMyAdmin, например, http://localhost:8080/phpmyadmin :

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

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

Создание базы данных MySQL в phpMyAdmin

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

Откроем интерфейс phpMyAdmin. Перейдем на вкладку Базы данных . Под меткой Создать базу данных введем какое-нибудь имя для новой бд, например, compstore и нажмем на кнопку "Создать".

И после этого мы получим сообщение об успешном создании новой бд, и она будет добавлена в списки баз данных.

Новая база данных пока пуста и не содержит ничего. Добавим в нее таблицу, которая будет хранить данные. Для этого нажмем на название базы данных и мы попадем на вкладку "Структура", где нам будут предложены опции новой таблицы. В поле "Имя" введем название новой таблицы. Пусть, таблицы будет хранить данные о моделях смартфонов, поэтому введем название "phones", а в качестве количества столбцов введем цифру 3:

Для создания таблицы нажмем на кнопку "Вперед". После этого у нас появится набор ячеек для установки параметров столбцов. Укажем последовательно для имен столбцов следующие: id, name, company. В качестве типа укажем для столбцов id тип INT , а для столбцов name и company - тип VARCHAR . Для столбцов name и company в поле "Длина/Значения" укажем число 200 - оно будет указывать максимальную длину строки в символах. Также для столбца id укажем в поле "Индекс" PRIMARY а в поле "A_I" (AutoIncrement) поставим галочку:

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

После создания таблицы мы сможем увидеть в колонке баз данных таблицу и ее столбцы:

Это не единственный способ создания таблиц в phpMyAdmin, так как здесь мы можем управлять базой данных с помощью запросов SQL. Так, выделим в списке баз данных нашу базу и перейдем на вкладку "SQL". Она отображает поле для ввода команды на языке запросов SQL. Введем в него следующую команду:

CREATE Table phones1 (id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, name VARCHAR(200) NOT NULL, company VARCHAR(200) NOT NULL)

Это стандартная команда создания таблицы на языке SQL. После ключевых слов CREATE Table идет название создаваемой таблицы, а затем в скобках идут через запятую определения столбцов.

Каждое определение столбцов содержит имя столбца, его тип и ряд дополнительных значений. Например, в определении столбца id (id INT NOT NULL AUTO_INCREMENT PRIMARY KEY) указывается имя столбца, тип - INT, а также то, что столбец обязательно должен иметь значение - NOT NULL, что его значение будет автоматически увеличиваться на единицу с добавлением нового объекта - AUTO_INCREMENT, и что он играет роль первичного ключа - PRIMARY KEY.

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


В предыдущих материалах были описаны установка и запуск локального веб-сервер Apache на ОС Microsoft Windows 7, а так же, к веб-серверу был подключен модуль языка программирования PHP и СУБД (систему управления базами данных) MySQL.

Теперь нам необходимо "обзавестись" удобным средством управления базами данных MySQL, одним из таких средств, получившим большую популярность, является phpMyAdmin.

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

Скачивание и установка phpMyAdmin

Скачиваем последнюю версию phpMyAdmin, для этого перейдем по ссылки http://phpmyadmin.net/home_page/downloads.php и найдем на странице дистрибутив, имя которого имеет формат "phpMyAdmin-X-X-X-all-languages.*" .

Распакуем директорию скаченного архива в "C:\Apache24\htdocs\" и переименуем распакованную директорию в "phpmyadmin" . В итоге файлы скаченного нами архива должны располагаться в директории

скачивание и установка phpMyAdmin

В пункте "Работа с конфигурационным файлом php.ini" материала Подключение PHP к Apache нами был рассмотрен пример подключения динамически загружаемых расширений . Для дальней работой с phpMyAdmin в конфигурационном файле php "C:\php\php.ini" необходимо подключить следующие расширения (после подключения расширений необходимо перезагрузить веб-сервер):

в файле php.ini найдем блок Dynamic Extensions (Динамические Расширения)

;;;;;;;;;;;;;;;;;;;;;; ; Dynamic Extensions ; ;;;;;;;;;;;;;;;;;;;;;; ... extension=php_mbstring.dll extension=php_mysql.dll extension=php_mysqli.dll extension=php_pdo_mysql.dll ...

раскомментируем необходимые расширения

Запуск и настройка phpMyAdmin

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

Откроем в браузере страницу http://localhost/phpmyadmin или страницу http://localhost/phpmyadmin/index.php . Перед Вами должна появиться страница с формой для авторизации. В форму необходимо внести имя пользователя и пароль MySQL.

Ранее в материале Подключение MySQL к Apache нами была установлена служба MySQL. В нашем случае, по умолчанию, MySQL имеет главного пользователя c именем root и не имеющего пароль. Исходя из этих данных, попробуем авторизоваться. Вводим имя пользователя - root и не указываем пароль.

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

Теперь давайте создадим и настроим конфигурационный файл phpMyAdmin.

Для этого нам необходимо создать, а точнее скопировать, существующий в корне данного приложения конфигурационный файл. В директории "C:\Apache24\htdocs\phpmyadmin" ищем файл "config.sample.inc.php" и создаем его копию с новым именем "config.inc.php" .

Открываем файл в текстовом редакторе и, так как при попытки авторизации нам было указано: "...(смотрите AllowNoPassword)" , ищем данное значение и записываем в него true .

изменяем значение переменной на true

$cfg["Servers"][$i]["AllowNoPassword"] = true;

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

запуск phpMyAdmin

Убираем авторизацию в phpMyAdmin

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

Открываем файл "C:\Apache24\htdocs\phpmyadmin\config.inc.php" в текстовом редакторе и вносим следующие изменения.

значение переменной $cfg["Servers"][$i]["auth_type"] = "config"; означает, что данные для авторизации будут браться из конфигурационного файла, а именно из переменных указанных ниже.

По итогам изучения данного материала нами было скачено, установлено и запущено веб-приложение phpMyAdmin, которое позволяет осуществлять администрирование сервера MySQL через браузер. А так же, для базовой настройки phpMyAdmin нами были внесены изменения в конфигурационный файл "config.inc.php" .

— локального сервера для Linux. К сожалению, средство администрирования баз данных phpMyAdmin не входит в набор инструментов LAMP, поэтому устанавливается отдельно. Из этой статьи вы узнаете, как пользоваться phpMyAdmin.

Установка phpMyAdmin на Ubuntu

Очень часто phpMyAdmin (PMA) встречается на платных хостингах и используется для создания и администрирования баз данных (БД) сайтов. Устанавливать ее на платный хостинг не надо — там уже все сделано до вас. Чаще всего вы будете сталкиваться с установкой PMA на свой компьютер для администрирования баз данных локального сервера. В качестве примера я рассмотрю установку phpMyAdmin на Ubuntu — один из самых популярных дистрибутивов Linux.

Откройте терминал и введите следующую команду:

sudo apt- get install phpmyadmin

После этого введите пароль администратора и согласитесь с продолжением установки.

Выберете веб-сервер, который автоматически будет настроен для запуска PMA. В нашем случае это apache2.

Соглашайтесь настроить БД с помощью dbconfig-common.

Введите пароль администратора MySQL.

Задайте пароль для регистрации PMA на сервере баз данных и далее подтвердить его. После окончания установки, phpMyAdmin будет доступна по адресу http://localhost/phpmyadmin .

phpMyAdmin не работает

Если перейдя по этому адрес, вы увидите страницу с ошибкой, то можно сделать следующее.

  • введите в терминале команду:
    sudo ln - s / etc/ phpmyadmin/ apache. conf / etc/ apache2/ conf. d
  • перезагрузите сервер apache с помощью команды:
    sudo / etc/ init. d/ apache2 restart
  • повторно зайдите по адресу http://localhost/phpmyadmin , теперь вы должны увидеть страницу входа в панель администратора phpMyAdmin.

Пользователь будет root , а пароль вы задали при установке .

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

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

Что в первую очередь пригодится? Конечно, умение создавать БД для будущего сайта. Для этого перейдите на вкладку Базы данных .

Достаточно ввести название новой БД и кликнуть на кнопку «Создать» — все остальное phpMyAdmin сделает автоматически.

Появится сообщение об успешном создании БД и она добавится в список ниже.

Добавление нового пользователя БД

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

Для этого кликните на надписи «Проверить привилегии». Вас перебросит на страницу «Пользователи с правами доступа к БД», на которой следует кликнуть на «Добавить нового пользователя».

В разделе «Информация учетной записи» укажите имя пользователя (английскими буквами), хост (на локальном сервере — 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" - аутентификация