Вход в phpmyadmin без пароля. Установка phpMyAdmin для "чайников". Обновление старой версии

Рано или поздно любой владелец сайта сталкивается с непосредственной работой с базой данных. Для этих целей был разработан phpmyadmin, который в большинстве случаев уже установлен и настроен на вашем хостинге. Но часто от вебмастера требуется изменить пароль root`а на phpmyadmin. Вроде простая задача, но почему-то у большинства людей эта проблема вызывает немалые сложности. Лично у меня так и было.

У меня эта потребность возникла после переустановки операционной системы на VPS -сервере от Majordomo, после которой я просто не смог войти в phpmyadmin с паролем по-умолчанию. Пришлось срочно его менять.

Сам пароль для доступа к phpmyadmin совпадает с паролем root к серверу MySQL, который вы указывали при установке. Если Вы этот пароль по какой-то причине забыли, то восстановить его можно достаточно просто. Способ восстановления пароля описан в статье:

Есть еще один небольшой нюанс, который следует учитывать, когда вы используете phpmyadmin – это способ авторизации этой надстройки.

За все это отвечает только один конфигурационный файл phpmyadmin – config.inc.php , который в операционной системе FreeBSD находится в директории /usr/local/www/phpMyAdmin . Содержимое моего файла, который является боевым, вот:

Теперь давайте разберем где тут что и как…

  • blowfish_secret – это произвольная фраза, которая нужна для шифрования паролей в куках. Надежнее поменять ее на любую другую, только не стандартную.
  • auth_type – это тип авторизации, который может принимать 2 значения: config и cookie :
    • config – указывает на то, что логин/пароль будут браться из этого файла (две следующие строчки user и password ). При таком режиме, успешный вход будет всегда, когда вы или кто-то другой просто зайдет на ваш домен , где размещается также phpmyadmin и может получит возможность натворить там всяких пакостей.
    • cookie – указывает на то, что логин/пароль будут спрашиваться каждый раз, как кто-то переходит по адресу, где лежит phpmyadmin. Правильный пароль будет храниться в зашифрованном виде в куках на вашем компьютере.
  • user и password – это имя пользователя (в нашем случае должен быть root ) и пароль. В этом конфигурационном файле они добавлены просто для примера и при использовании cookie их можно вообще удалить.
  • AllowNoPassword – может принимать значения true (истина) и false (ложь). Собственно разрешается вход без пароля (true) или нет (false)
  • extension – может принимать значение mysql и mysqli . Первое нужно указывать в случае если вы используете phpmyadmin в связки MySQL ниже 4.1.3. Второй если используете версию MySQL выше 4.1.3.

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

Кликните по заголовку, что бы открыть/закрыть подробное описание процесса

Нам потребуется создать новую базу данных - щелкаем по вкладке "Базы данных" . В текстовом поле подраздела "Создать базу данных" вводим phpmyadmin , нажимаем кнопку "Создать" .

Создадим нового пользователя - щелкаем по вкладке "Пользователи" .

На данный момент у нас создан единственный пользователь с именем root . Кликаем по ссылке "Добавить пользователя" ,

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

Скролируем окно до раздела "Глобальные привилегии" , жмем на ссылку "Отметить все" .

Кликаем по кнопке "Добавить пользователя" .

Новый пользователь с именем pma будет создан.

Теперь, в созданную базу нужно импортировать данные. В левой колонке выбираем phpmyadmin (кликаем по ней мышью).

В верхнем меню щелкаем по вкладке Импорт .

В подразделе Импортируемый файл: нажимаем кнопку обзор.

В открывшемся контекстном меню выбираем файл create_tables.sql , который находится в папке examples , лежащей внутри корневой директории phpMyAdmin (в моем случае полный путь выглядит так: c:\Program Files (x86)\Apache Software Foundation\Apache2.2\htdocs\phpmyadmin\examples\create_tables.sql ).

В самом низу страницы находим и жмем кнопку Ok . База импортирована.

Внесем изменения в конфигурационный файл.

Открываем в блокноте файл config.inc.php . Ищем строку $cfg["Servers"][$i]["controlhost"] = ""; , разкомментируем ее (удаляем двойной слеш), в кавычки вписываем localhost (строка примет вид $cfg["Servers"][$i]["controlhost"] = "localhost"; ).

Находим и разкомментируем строку $cfg["Servers"][$i]["controlpass"] = "pmapass"; , в кавычках меняем пароль, на тот, который назначался при создании пользователя pma .

Находим и разкомментируем следующие строки:

$cfg["Servers"][$i]["controluser"] = "pma";

$cfg["Servers"][$i]["pmadb"] = "phpmyadmin";

$cfg["Servers"][$i]["bookmarktable"] = "pma_bookmark";

$cfg["Servers"][$i]["relation"] = "pma_relation";

$cfg["Servers"][$i]["table_info"] = "pma_table_info";

$cfg["Servers"][$i]["table_coords"] = "pma_table_coords";

$cfg["Servers"][$i]["pdf_pages"] = "pma_pdf_pages";

$cfg["Servers"][$i]["column_info"] = "pma_column_info";

$cfg["Servers"][$i]["history"] = "pma_history";

$cfg["Servers"][$i]["tracking"] = "pma_tracking";

$cfg["Servers"][$i]["designer_coords"] = "pma_designer_coords";

$cfg["Servers"][$i]["userconfig"] = "pma_userconfig";

$cfg["Servers"][$i]["recent"] = "pma_recent";

$cfg["Servers"][$i]["table_uiprefs"] = "pma_table_uiprefs";

Сохраняем изменения в файле, выходим и снова заходим в phpMyAdmin . Предупреждение исчезло.

Как альтернативный вариант (если очень не хочется копаться в коде) - заменяем все содержимое файла config.inc.php на код, приведенный ниже

< $cfg["blowfish_secret"] = "a8b7c6d"; $i = 0; $i++; $cfg["Servers"][$i]["auth_type"] = "cookie"; $cfg["Servers"][$i]["host"] = "localhost"; $cfg["Servers"][$i]["connect_type"] = "tcp"; $cfg["Servers"][$i]["compress"] = false; $cfg["Servers"][$i]["extension"] = "mysqli"; $cfg["Servers"][$i]["AllowNoPassword"] = false; $cfg["Servers"][$i]["controlhost"] = "localhost"; $cfg["Servers"][$i]["controluser"] = "pma"; $cfg["Servers"][$i]["controlpass"] = "пароль для пользователя pma"; $cfg["Servers"][$i]["pmadb"] = "phpmyadmin"; $cfg["Servers"][$i]["bookmarktable"] = "pma_bookmark"; $cfg["Servers"][$i]["relation"] = "pma_relation"; $cfg["Servers"][$i]["table_info"] = "pma_table_info"; $cfg["Servers"][$i]["table_coords"] = "pma_table_coords"; $cfg["Servers"][$i]["pdf_pages"] = "pma_pdf_pages"; $cfg["Servers"][$i]["column_info"] = "pma_column_info"; $cfg["Servers"][$i]["history"] = "pma_history"; $cfg["Servers"][$i]["table_uiprefs"] = "pma_table_uiprefs"; $cfg["Servers"][$i]["tracking"] = "pma_tracking"; $cfg["Servers"][$i]["designer_coords"] = "pma_designer_coords"; $cfg["Servers"][$i]["userconfig"] = "pma_userconfig"; $cfg["Servers"][$i]["recent"] = "pma_recent"; $cfg["UploadDir"] = ""; $cfg["SaveDir"] = ""; ?>

Не забываем вписать в строке $cfg["Servers"][$i]["controlpass"] = "пароль для пользователя pma"; в кавычках пароль, который был задан для пользователя pma и в строке $cfg["blowfish_secret"] = "a8b7c6d"; увеличить надпись в кавычках минимум до 10 символов


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

  • Имя хоста (сервера), на котором размещен MySQL
  • Номер порта MySQL
  • Логин
  • Пароль
Также, полезным будет получение от хостера подтверждения о возможности установки phpMyAdmin, кроме этого, он может указать на возможные "подводные камни" при установке phpMyAdmin на конкретной хостинговой площадке.

2. Если Вы еще не скачали дистрибутив, сделать это можно на странице "Скачать phpMyAdmin"

3. После того как дистрибутив скачан на локальный компьютер, самое время создать директорию для phpMyAdmin , куда будет загружен дистрибутив. Название можно давать любое, мы назовем её `pma` (http://www.yourdomain.ru/pma/), проверьте, чтобы права на эту директорию были 755 .

Те, кому небезразличен трафик, а также занимаемое дисковое пространство на сервере, могут почистить директорию `lang`, которая занимает львиную долю общего объема дистрибутива: в версии 2.8.1 - более 8 мегабайт, что составляет около 70% "веса" распакованного дистрибутива.

Чистите директорию осторожно, иначе может статься так, что останетесь без родного перевода. Для русскоязычных пользователей важны, прежде всего, файлы: russian-koi8-r.inc.php, russian-utf-8.inc.php, russian-windows-1251.inc.php, кроме них я бы рекомендовал оставить родные для phpMyAdmin языковые файлы: english-iso-8859-1.inc.php, english-iso-8859-15.inc.php, english-utf-8.inc.php. В результате таких манипуляций объем директории `lang` остается менее 500 Кб.

4. "Заливаем" распакованный дистрибутив на удаленный сервер - в созданную нами ранее директорию `pma`.

5. Теперь все готово к завершающей фазе инсталляции - созданию конфигурационного файла (config.inc.php) , который используется phpMyAdmin для работы с базами данных, и, прежде всего, для подключения к MySQL-серверу. Создать конфиг можно двумя способами: с помощью скрипта установки или вручную. Рассмотрим оба способа.
Генерирование конфигурационного файла phpMyAdmin с помощью скрипта. Этот способ стал доступным совсем недавно - начиная с версии 2.8.0. Суть его заключается в задании параметров, необходимых для работы phpMyAdmin через веб-интерфейс с последующим сохранением конфигурационного файла на сервер.

А) создаем директорию `config`: http://www.yourdomain.ru/pma/config

Б) делаем директорию `config` доступной для записи, чтобы разрешить скрипту в последствии записать туда созданный нами конфигурационный файл. Выставляем права 777

В) запускаем скрипт установки: http://www.yourdomain.ru/pma/scripts/setup.php

Г) Выбираем самый первый блок `Servers` (Сервера) и нажимаем `Add` (Добавить).

Здесь следует немного оговориться: phpMyAdmin использует конфигурационный файл, для определения специфичных (уникальных) параметров для Вашей системы. Если параметр специально не задан в конфигурационном файле, то phpMyAdmin "берет" его из собственных настроек по-умолчанию, большая часть которых содержится в файле http://www.yourdomain.ru/pma/libraries/config.default.php. Поэтому, например, если номер порта MySQL 3306, то нет необходимости специально задавать его в конфиге, т.к. этот номер порта MySQL по-умолчанию.

В открывшемся окне заполняем следующие поля:
- Server hostname - имя хоста (сервера), на котором размещен MySQL
- Authentication type - cookie (наиболее надежный для безопасности тип аутентификации)

После того как заполнили эти два поля, жмем `Add` и игнорируем предупреждающую надпись `You didn"t set phpMyAdmin database, so you can not use all phpMyAdmin features.`, которая сообщает о том, что не задали базу данных для phpMyAdmin (требуется для расширенных возможностей phpMyAdmin - записи комментариев к полям, информации о связях таблиц, генерирования pdf-схем)


д) Перемещаем созданный нами config.inc.php из директории `config` в главную директорию (`pma`). После этого необходимо удалить директорию `config`, иначе phpMyAdmin корректно работать не будет

Е) Конфигурационный файл создан. Проверяем, чтобы права на конфиг были 644, для предотвращения записи в файл сторонними лицами.

Создание конфигурационного файла phpMyAdmin вручную. Это старый способ создания конфигурационного файла.

А) копируем в текстовый редактор следующие строки:

$i++;
$cfg["Servers"][$i]["host"] = "Имя хоста (сервера) MySQL";
$cfg["Servers"][$i]["extension"] = "mysql";
$cfg["Servers"][$i]["connect_type"] = "tcp";
$cfg["Servers"][$i]["compress"] = false;
$cfg["Servers"][$i]["auth_type"] = "cookie";

$cfg["blowfish_secret"] = "любая фраза";
?>


б) сохраняем этот файл как config.inc.php и копируем его в директорию `pma`

В) проверяем, чтобы права на конфигурационный файл были 644

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

6. Запускаем в браузере phpMyAdmin: http://www.yourdomain.ru/pma/. Должно появиться приветствие и приглашение к авторизации. Если все сделано правильно и введенные логин и пароль верны, то запустится главное окно phpMyAdmin для управления базами данных.


7. Завершающим, необязательным, штрихом установки phpMyAdmin является создание служебной базы данных, содержащей таблицы, которые необходимы для расширенных возможностей phpMyAdmin . Если Вы не собираетесь пользоваться закладками, комментариями, вести SQL-историю, генерировать PDF-схемы баз данных - тогда создание служебной базы данных необязательно .

Если Вы хотите пользоваться расширенными опциями phpMyAdmin, тогда необходимо создать служебную базу "phpmyadmin". Для этого достаточно импортировать дамп, который находится в директории scripts/. Если у вас установлен MySQL сервер 4.1.2 и выше - файл create_tables_mysql_4_1_2+.sql. Если у Вас установлена версия MySQL сервера версии меньше 4.1.2, используйте вместо вышеуказанного файла create_tables.sql.

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

После импорта create_tables.sql, необходимо создать специального пользователя, наделенного соответствующими правами. Если Вы работаете не под рутом (подключаетесь к MySQL-серверу не как root), тогда вы должны подключиться к базе как root и задать пользователю pma права на работу с базой данных phpmyadmin, для чего необходимо проделать следующее:

Создайте пользователя с именем "pma" и наделите его соответствующими правами, для чего нажмите "Privileges" ("Привилегии"), на открывшейся странице нажмите ссылку "Add a new User" ("Добавить нового пользователя"), в разделе "Login Information" ("Информация учетной записи") заполните поля следующим образом:

User name (Имя пользователя): pma
Host (Хост): localhost
Password (Пароль): придумайте пароль

Нажмите кнопку "Go" (OK).

На открывшейся странице, в разделе "Database-specific privileges" ("Привилегии уровня базы данных") из ниспадающего меню "Add privileges on the following database:" ("Добавить привилегии на следующую базу") выберите "phpmyadmin". Откроется следующая страница, где в разделе "Database-specific privileges" ("Привилегии уровня базы данных"), в блоке "Data" ("Данные"), поставьте галочки рядом с опциями: SELECT, INSERT, UPDATE, DELETE и нажмите "Go" ("OK").

Если же в качестве "controluser" Вы указали рут (root), тогда права задавать не нужно - они у него уже есть.

После того, как пользователь с необходимыми правами на базу данных `phpmyadmin` создан необходимо внести коррективы (задать названия таблиц, логин и пароль для ранее созданного пользователя "controluser") в файле config.inc.php, задав значения для следующих директив:
$cfg["Servers"][$i]["controluser"] - имя созданного пользователя для доступа к расширенным таблицам
$cfg["Servers"][$i]["controlpass"] - пароль пользователя
$cfg["Servers"][$i]["pmadb"] - название служебной базы данных
$cfg["Servers"][$i]["bookmarktable"] - название таблицы, содержащей информацию для закладок
$cfg["Servers"][$i]["relation"] - название таблицы, содержащей информацию о связях таблиц
$cfg["Servers"][$i]["table_info"] - название таблицы, содержащей информацию о таблицах пользовательских баз данных
$cfg["Servers"][$i]["table_coords"] - название таблицы, содержащей информацию для генерирования PDF-схем
$cfg["Servers"][$i]["pdf_pages"] - название таблицы, содержащей информацию для генерирования PDF-схем
$cfg["Servers"][$i]["column_info"] - название таблицы, содержащей информацию о комментариях к столбцам таблиц
$cfg["Servers"][$i]["history"] - название таблицы, содержащей SQL-историю

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


В предыдущих материалах были описаны установка и запуск локального веб-сервер 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" .

Поделитесь с друзьями или сохраните для себя:

Загрузка...